From 815448cd2863da9892fc1384c9aadfe2889f8f31 Mon Sep 17 00:00:00 2001 From: fivetran-joemarkiewicz Date: Thu, 30 Jun 2022 14:34:07 -0500 Subject: [PATCH 01/15] feature/v2-updates --- .github/pull_request_template.md | 1 - CHANGELOG.md | 27 ++ README.md | 149 +++++----- dbt_project.yml | 11 +- docs/catalog.json | 2 +- docs/index.html | 32 +-- docs/manifest.json | 2 +- docs/run_results.json | 2 +- integration_tests/ci/sample.profiles.yml | 2 +- integration_tests/dbt_project.yml | 47 ++-- .../seeds/ad_group_history_data.csv | 2 +- .../seeds/ad_group_report_data.csv | 11 + .../seeds/advertiser_history_data.csv | 2 + .../seeds/advertiser_report_data.csv | 11 + .../seeds/campaign_history_data.csv | 2 +- .../seeds/campaign_report_data.csv | 11 + .../seeds/keyword_history_data.csv | 11 + .../seeds/keyword_report_data.csv | 30 ++ .../seeds/pin_promotion_history_data.csv | 2 +- .../seeds/pin_promotion_report_data.csv | 2 +- macros/get_ad_group_history_columns.sql | 8 +- macros/get_ad_group_report_columns.sql | 20 ++ macros/get_advertiser_history_columns.sql | 20 ++ macros/get_advertiser_report_columns.sql | 16 ++ macros/get_campaign_history_columns.sql | 4 +- macros/get_campaign_report_columns.sql | 19 ++ macros/get_keyword_history_columns.sql | 19 ++ macros/get_keyword_report_columns.sql | 22 ++ macros/get_pin_promotion_report_columns.sql | 35 +-- models/docs.md | 33 +++ models/src_pinterest_ads.yml | 217 ++++++++++++-- models/stg_pinterest_ads.yml | 266 +++++++++++++++--- .../stg_pinterest_ads__ad_group_history.sql | 24 +- models/stg_pinterest_ads__ad_group_report.sql | 42 +++ .../stg_pinterest_ads__advertiser_history.sql | 47 ++++ .../stg_pinterest_ads__advertiser_report.sql | 38 +++ .../stg_pinterest_ads__campaign_history.sql | 21 +- models/stg_pinterest_ads__campaign_report.sql | 41 +++ models/stg_pinterest_ads__keyword_history.sql | 45 +++ models/stg_pinterest_ads__keyword_report.sql | 44 +++ ...g_pinterest_ads__pin_promotion_history.sql | 19 +- ...tg_pinterest_ads__pin_promotion_report.sql | 19 +- ...stg_pinterest_ads__ad_group_report_tmp.sql | 2 + ..._pinterest_ads__advertiser_history_tmp.sql | 2 + ...g_pinterest_ads__advertiser_report_tmp.sql | 2 + ...stg_pinterest_ads__campaign_report_tmp.sql | 2 + ...stg_pinterest_ads__keyword_history_tmp.sql | 2 + .../stg_pinterest_ads__keyword_report_tmp.sql | 2 + 48 files changed, 1134 insertions(+), 256 deletions(-) create mode 100644 integration_tests/seeds/ad_group_report_data.csv create mode 100644 integration_tests/seeds/advertiser_history_data.csv create mode 100644 integration_tests/seeds/advertiser_report_data.csv create mode 100644 integration_tests/seeds/campaign_report_data.csv create mode 100644 integration_tests/seeds/keyword_history_data.csv create mode 100644 integration_tests/seeds/keyword_report_data.csv create mode 100644 macros/get_ad_group_report_columns.sql create mode 100644 macros/get_advertiser_history_columns.sql create mode 100644 macros/get_advertiser_report_columns.sql create mode 100644 macros/get_campaign_report_columns.sql create mode 100644 macros/get_keyword_history_columns.sql create mode 100644 macros/get_keyword_report_columns.sql create mode 100644 models/docs.md create mode 100644 models/stg_pinterest_ads__ad_group_report.sql create mode 100644 models/stg_pinterest_ads__advertiser_history.sql create mode 100644 models/stg_pinterest_ads__advertiser_report.sql create mode 100644 models/stg_pinterest_ads__campaign_report.sql create mode 100644 models/stg_pinterest_ads__keyword_history.sql create mode 100644 models/stg_pinterest_ads__keyword_report.sql create mode 100644 models/tmp/stg_pinterest_ads__ad_group_report_tmp.sql create mode 100644 models/tmp/stg_pinterest_ads__advertiser_history_tmp.sql create mode 100644 models/tmp/stg_pinterest_ads__advertiser_report_tmp.sql create mode 100644 models/tmp/stg_pinterest_ads__campaign_report_tmp.sql create mode 100644 models/tmp/stg_pinterest_ads__keyword_history_tmp.sql create mode 100644 models/tmp/stg_pinterest_ads__keyword_report_tmp.sql diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index 35f658d..f450926 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?** diff --git a/CHANGELOG.md b/CHANGELOG.md index 8b7f52f..b886629 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,30 @@ +# dbt_pinterest_source v0.6.0 + +## 🚨 Breaking Changes 🚨 +The `pin_promotion_report_pass_through_metric` variable has been renamed to `pinterest__pin_promotion_report_passthrough_metrics`. +## 🎉 Feature Enhancements 🎉 +PR #TBD includes the following changes: +- Addition of the following staging models which pull from the source counterparts. The inclusion of the additional `_report` source tables is to generate a more accurate representation of the Pinterest Ads data. For example, not all Ad types are included within the `pin_promotion_report` table. Therefore, the addition of the further grain reports will allow for more flexibility and accurate Pinterest Ad reporting. + - `stg_pinterest_ads__ad_group_report` + - `stg_pinterest_ads__advertiser_report` + - `stg_pinterest_ads__campaign_report` + - `stg_pinterest_ads__keyword_report` + - `stg_pinterest_ads__advertiser_history` + - `stg_pinterest_ads__keyword_history` + +- Inclusion of additional passthrough metrics: + - `pinterest__ad_group_report_passthrough_metrics` + - `pinterest__campaign_report_passthrough_metrics` + - `pinterest__advertiser_report_passthrough_metrics` + - `pinterest__keyword_report_passthrough_metrics` + +- README updates for easier navigation and use of the package. +- Addition of identifier variables for each of the source tables to allow for further flexibility in source table direction within the dbt project. +- Included grain uniqueness tests for each staging table. + +## Contributors +- [@bnealdefero](https://github.com/bnealdefero) ([]()) + # dbt_pinterest_source v0.5.0 🎉 dbt v1.0.0 Compatibility 🎉 ## 🚨 Breaking Changes 🚨 diff --git a/README.md b/README.md index ee49130..6a693cf 100644 --- a/README.md +++ b/README.md @@ -1,104 +1,107 @@ -[![Apache License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) -# Pinterest Ads (Source) +

+ + + + + + + + +

+ +# Pinterest Ads Source dbt Package ([Docs](https://fivetran.github.io/dbt_pinterest_source/)) +# 📣 What does this dbt package do? +- Materializes [Pinterest Ads staging tables](https://fivetran.github.io/dbt_pinterest_source/#!/overview/pinterest_source/models/?g_v=1&g_e=seeds) which leverage data in the format described by [this ERD](https://fivetran.com/docs/applications/pinterest-ads#schemainformation). These staging tables clean, test, and prepare your Pinterest Ads data from [Fivetran's connector](https://fivetran.com/docs/applications/pinterest-ads) for analysis by doing the following: + - Name columns for consistency across all packages and for easier analysis + - Adds freshness tests to source data + - Adds column-level testing where applicable. For example, all primary keys are tested for uniqueness and non-null values. +- Generates a comprehensive data dictionary of your Pinterest data through the [dbt docs site](https://fivetran.github.io/dbt_pinterest_source/). +- These tables are designed to work simultaneously with our [Pinterest Ads transformation package](https://github.com/fivetran/dbt_pinterest). + +# 🎯 How do I use the dbt package? +## Step 1: Prerequisites +To use this dbt package, you must have the following: +- At least one Fivetran Pinterest Ads connector syncing data into your destination. +- A **BigQuery**, **Snowflake**, **Redshift**, **PostgreSQL**, or **Databricks** destination. -This package models Pinterest Ads data from [Fivetran's connector](https://fivetran.com/docs/applications/pinterest-ads). It uses data in the format described by [this ERD](https://fivetran.com/docs/applications/pinterest-ads#schemainformation). - -This package enriches your Fivetran data by doing the following: - -* Adds descriptions to tables and columns that are synced using Fivetran -* Adds column-level testing where applicable. For example, all primary keys are tested for uniqueness and non-null values. -* Models staging tables, which will be used in our transform package - -## Models - -This package contains staging models, designed to work simultaneously with our [Pinterest Ads transformation package](https://github.com/fivetran/dbt_pinterest) and our [multi-platform Ad Reporting package](https://github.com/fivetran/dbt_ad_reporting). The staging models: - -* Name columns consistently across all packages: - * Boolean fields are prefixed with `is_` or `has_` - * Timestamps are appended with `_at` - * ID primary keys are prefixed with the name of the table. For example, the campaign table's ID column is renamed `campaign_id`. - -## Installation Instructions -Check [dbt Hub](https://hub.getdbt.com/) for the latest installation instructions, or [read the dbt docs](https://docs.getdbt.com/docs/package-management) for more information on installing packages. - -Include in your `packages.yml` +### Databricks Dispatch Configuration +If you are using a Databricks destination with this package you will need to add the below (or a variation of the below) dispatch configuration within your `dbt_project.yml`. This is required in order for the package to accurately search for macros within the `dbt-labs/spark_utils` then the `dbt-labs/dbt_utils` packages respectively. +```yml +dispatch: + - macro_namespace: dbt_utils + search_order: ['spark_utils', 'dbt_utils'] +``` +## Step 2: Install the package +Include the following pinterest_source package version in your `packages.yml` file. +> TIP: Check [dbt Hub](https://hub.getdbt.com/) for the latest installation instructions or [read the dbt docs](https://docs.getdbt.com/docs/package-management) for more information on installing packages. ```yaml packages: - package: fivetran/pinterest_source - version: [">=0.5.0", "<0.6.0"] + version: [">=0.6.0", "<0.7.0"] ``` - -## Configuration -By default, this package will look for your Pinterest Ads data in the `pinterest_ads` schema of your [target database](https://docs.getdbt.com/docs/running-a-dbt-project/using-the-command-line-interface/configure-your-profile). If this is not where your Pinterest Ads data is, please add the following configuration to your `dbt_project.yml` file: +## Step 3: Define database and schema variables +By default, this package runs using your destination and the `pinterest` schema. If this is not where your Pinterest Ads data is (for example, if your pinterest schema is named `pinterest_fivetran`), add the following configuration to your root `dbt_project.yml` file: ```yml -# dbt_project.yml - -... -config-version: 2 - vars: - pinterest_database: your_database_name + pinterest_database: your_destination_name pinterest_schema: your_schema_name ``` -### Passthrough Columns -This package allows for custom columns not defined within the `stg_pinterest_ads__pin_promotion_report` model to be passed through. These custom columns may be applied using the `pin_promotion_report_pass_through_metric` variable. To apply custom passthrough columns use the below format: +## (Optional) Step 4: Additional configurations +### Passing Through Additional Metrics +By default, this package will select `clicks`, `impressions`, and `cost` from the `pin_promotion_report` table to report into the staging model. If you would like to pass through additional metrics to the staging models, add the following configuration to your `dbt_project.yml` file: ```yml -# dbt_project.yml - -... vars: - pin_promotion_report_pass_through_metric: - - 'cool_new_field' - - 'my_other_column' - - 'pass_this_through_too' - + pin_promotion_report_pass_through_metric: ['the', 'list', 'of', 'metric', 'columns', 'to', 'include'] # from pinterest.pin_promotion_report ``` - -### Changing the Build Schema -By default this package will build the Pinterest Ads staging models within a schema titled ( + `_stg_pinterest`) in your target database. If this is not where you would like your Pinterest Ads staging data to be written to, add the following configuration to your `dbt_project.yml` file: +### Change the build schema +By default, this package builds the Pinterest Ads staging models within a schema titled (`` + `_pinterest_source`) in your destination. If this is not where you would like your pinterest staging data to be written to, add the following configuration to your root `dbt_project.yml` file: ```yml -# dbt_project.yml - -... models: pinterest_source: +schema: my_new_schema_name # leave blank for just the target_schema ``` -## Database Support + +### Change the source table references +If an individual source table has a different name than the package expects, add the table name as it appears in your destination to the respective variable: +> IMPORTANT: See this project's [`dbt_project.yml`](https://github.com/fivetran/dbt_pinterest_source/blob/main/dbt_project.yml) variable declarations to see the expected names. + +```yml +vars: + pinterest__identifier: your_table_name +``` -This package has been tested on BigQuery, Snowflake, Redshift, Postgres, and Databricks. +## (Optional) Step 5: Orchestrate your models with Fivetran Transformations for dbt Core™ -### Databricks Dispatch Configuration -dbt `v0.20.0` introduced a new project-level dispatch configuration that enables an "override" setting for all dispatched macros. If you are using a Databricks destination with this package you will need to add the below (or a variation of the below) dispatch configuration within your `dbt_project.yml`. This is required in order for the package to accurately search for macros within the `dbt-labs/spark_utils` then the `dbt-labs/dbt_utils` packages respectively. +Fivetran offers the ability for you to orchestrate your dbt project through [Fivetran Transformations for dbt Core™](https://fivetran.com/docs/transformations/dbt). Learn how to set up your project for orchestration through Fivetran in our [Transformations for dbt Core™ setup guides](https://fivetran.com/docs/transformations/dbt#setupguide). + +# 🔍 Does this package have dependencies? +This dbt package is dependent on the following dbt packages. Please be aware that these dependencies are installed by default within this package. For more information on the following packages, refer to the [dbt hub](https://hub.getdbt.com/) site. +> IMPORTANT: If you have any of these dependent packages in your own `packages.yml` file, we highly recommend that you remove them from your root `packages.yml` to avoid package version conflicts. ```yml -# dbt_project.yml +packages: + - package: fivetran/fivetran_utils + version: [">=0.3.0", "<0.4.0"] -dispatch: - - macro_namespace: dbt_utils - search_order: ['spark_utils', 'dbt_utils'] + - package: dbt-labs/dbt_utils + version: [">=0.8.0", "<0.9.0"] ``` + +# 🙌 How is this package maintained and can I contribute? +## Package Maintenance +The Fivetran team maintaining this package _only_ maintains the latest version of the package. We highly recommend that you stay consistent with the [latest version](https://hub.getdbt.com/fivetran/pinterest_source/latest/) of the package and refer to the [CHANGELOG](https://github.com/fivetran/dbt_pinterest_source/blob/main/CHANGELOG.md) and release notes for more information on changes across versions. ## Contributions +A small team of analytics engineers at Fivetran develops these dbt packages. However, the packages are made better by community contributions! -Additional contributions to this package are very welcome! Please create issues -or open PRs against `main`. Check out -[this post](https://discourse.getdbt.com/t/contributing-to-a-dbt-package/657) -on the best workflow for contributing to a package. +We highly encourage and welcome contributions to this package. Check out [this dbt Discourse article](https://discourse.getdbt.com/t/contributing-to-a-dbt-package/657) to learn how to contribute to a dbt package! -## Resources: -- Provide [feedback](https://www.surveymonkey.com/r/DQ7K7WW) on our existing dbt packages or what you'd like to see next -- Have questions or feedback, or need help? Book a time during our office hours [here](https://calendly.com/fivetran-solutions-team/fivetran-solutions-team-office-hours) or email us at solutions@fivetran.com. -- Find all of Fivetran's pre-built dbt packages in our [dbt hub](https://hub.getdbt.com/fivetran/) -- Learn how to orchestrate your models with [Fivetran Transformations for dbt Core™](https://fivetran.com/docs/transformations/dbt) -- Learn more about Fivetran overall [in our docs](https://fivetran.com/docs) -- Check out [Fivetran's blog](https://fivetran.com/blog) -- Learn more about dbt [in the dbt docs](https://docs.getdbt.com/docs/introduction) -- Check out [Discourse](https://discourse.getdbt.com/) for commonly asked questions and answers -- Join the [chat](http://slack.getdbt.com/) on Slack for live discussions and support -- Find [dbt events](https://events.getdbt.com) near you -- Check out [the dbt blog](https://blog.getdbt.com/) for the latest news on dbt's development and best practices +# 🏪 Are there any resources available? +- If you have questions or want to reach out for help, please refer to the [GitHub Issue](https://github.com/fivetran/dbt_pinterest_source/issues/new/choose) section to find the right avenue of support for you. +- If you would like to provide feedback to the dbt package team at Fivetran or would like to request a new dbt package, fill out our [Feedback Form](https://www.surveymonkey.com/r/DQ7K7WW). +- Have questions or want to just say hi? Book a time during our office hours [on Calendly](https://calendly.com/fivetran-solutions-team/fivetran-solutions-team-office-hours) or email us at solutions@fivetran.com. diff --git a/dbt_project.yml b/dbt_project.yml index 2f098c3..bc3babb 100644 --- a/dbt_project.yml +++ b/dbt_project.yml @@ -1,5 +1,5 @@ name: 'pinterest_source' -version: '0.5.0' +version: '0.6.0' config-version: 2 require-dbt-version: [">=1.0.0", "<2.0.0"] vars: @@ -7,10 +7,17 @@ vars: campaign_history: "{{ source('pinterest_ads','campaign_history') }}" pin_promotion_history: "{{ source('pinterest_ads','pin_promotion_history') }}" pin_promotion_report: "{{ source('pinterest_ads','pin_promotion_report') }}" + ad_group_report: "{{ source('pinterest_ads','ad_group_report') }}" + advertiser_history: "{{ source('pinterest_ads','advertiser_history') }}" + advertiser_report: "{{ source('pinterest_ads','advertiser_report') }}" + campaign_report: "{{ source('pinterest_ads','campaign_report') }}" + keyword_history: "{{ source('pinterest_ads','keyword_history') }}" + keyword_report: "{{ source('pinterest_ads','keyword_report') }}" + pin_promotion_report_pass_through_metric: [] models: pinterest_source: - +schema: stg_pinterest + +schema: pinterest_source +materialized: table tmp: +materialized: view diff --git a/docs/catalog.json b/docs/catalog.json index 128a624..8734f68 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": "0.19.0", "generated_at": "2021-03-23T14:42:46.894396Z", "invocation_id": "95bbbe14-eed1-471c-acdd-42e8fb555144", "env": {}}, "nodes": {"model.pinterest_source.stg_pinterest_ads__pin_promotion_history_tmp": {"metadata": {"type": "view", "database": "dbt-package-testing", "schema": "pinterest_source_integration_tests_stg_pinterest", "name": "stg_pinterest_ads__pin_promotion_history_tmp", "comment": null, "owner": null}, "columns": {"ID": {"type": "INT64", "comment": null, "index": 1, "name": "ID"}, "AD_GROUP_ID": {"type": "INT64", "comment": null, "index": 2, "name": "AD_GROUP_ID"}, "CREATED_TIME": {"type": "STRING", "comment": null, "index": 3, "name": "CREATED_TIME"}, "DESTINATION_URL": {"type": "STRING", "comment": null, "index": 4, "name": "DESTINATION_URL"}, "NAME": {"type": "STRING", "comment": null, "index": 5, "name": "NAME"}, "PIN_ID": {"type": "INT64", "comment": null, "index": 6, "name": "PIN_ID"}, "STATUS": {"type": "STRING", "comment": null, "index": 7, "name": "STATUS"}, "CREATIVE_TYPE": {"type": "STRING", "comment": null, "index": 8, "name": "CREATIVE_TYPE"}, "_FIVETRAN_SYNCED": {"type": "STRING", "comment": null, "index": 9, "name": "_FIVETRAN_SYNCED"}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "description": "Indicates whether there are statistics for this table", "include": false}}, "unique_id": "model.pinterest_source.stg_pinterest_ads__pin_promotion_history_tmp"}, "model.pinterest_source.stg_pinterest_ads__pin_promotion_report_tmp": {"metadata": {"type": "view", "database": "dbt-package-testing", "schema": "pinterest_source_integration_tests_stg_pinterest", "name": "stg_pinterest_ads__pin_promotion_report_tmp", "comment": null, "owner": null}, "columns": {"DATE": {"type": "STRING", "comment": null, "index": 1, "name": "DATE"}, "PIN_PROMOTION_ID": {"type": "INT64", "comment": null, "index": 2, "name": "PIN_PROMOTION_ID"}, "AD_GROUP_ID": {"type": "INT64", "comment": null, "index": 3, "name": "AD_GROUP_ID"}, "CAMPAIGN_ID": {"type": "INT64", "comment": null, "index": 4, "name": "CAMPAIGN_ID"}, "ADVERTISER_ID": {"type": "INT64", "comment": null, "index": 5, "name": "ADVERTISER_ID"}, "_FIVETRAN_SYNCED": {"type": "STRING", "comment": null, "index": 6, "name": "_FIVETRAN_SYNCED"}, "IMPRESSION_1": {"type": "INT64", "comment": null, "index": 7, "name": "IMPRESSION_1"}, "IMPRESSION_2": {"type": "INT64", "comment": null, "index": 8, "name": "IMPRESSION_2"}, "CLICKTHROUGH_1": {"type": "INT64", "comment": null, "index": 9, "name": "CLICKTHROUGH_1"}, "CLICKTHROUGH_2": {"type": "INT64", "comment": null, "index": 10, "name": "CLICKTHROUGH_2"}, "SPEND_IN_MICRO_DOLLAR": {"type": "INT64", "comment": null, "index": 11, "name": "SPEND_IN_MICRO_DOLLAR"}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "description": "Indicates whether there are statistics for this table", "include": false}}, "unique_id": "model.pinterest_source.stg_pinterest_ads__pin_promotion_report_tmp"}, "model.pinterest_source.stg_pinterest_ads__campaign_history_tmp": {"metadata": {"type": "view", "database": "dbt-package-testing", "schema": "pinterest_source_integration_tests_stg_pinterest", "name": "stg_pinterest_ads__campaign_history_tmp", "comment": null, "owner": null}, "columns": {"ID": {"type": "INT64", "comment": null, "index": 1, "name": "ID"}, "CREATED_TIME": {"type": "STRING", "comment": null, "index": 2, "name": "CREATED_TIME"}, "NAME": {"type": "STRING", "comment": null, "index": 3, "name": "NAME"}, "STATUS": {"type": "STRING", "comment": null, "index": 4, "name": "STATUS"}, "_FIVETRAN_SYNCED": {"type": "STRING", "comment": null, "index": 5, "name": "_FIVETRAN_SYNCED"}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "description": "Indicates whether there are statistics for this table", "include": false}}, "unique_id": "model.pinterest_source.stg_pinterest_ads__campaign_history_tmp"}, "model.pinterest_source.stg_pinterest_ads__ad_group_history_tmp": {"metadata": {"type": "view", "database": "dbt-package-testing", "schema": "pinterest_source_integration_tests_stg_pinterest", "name": "stg_pinterest_ads__ad_group_history_tmp", "comment": null, "owner": null}, "columns": {"ID": {"type": "INT64", "comment": null, "index": 1, "name": "ID"}, "CAMPAIGN_ID": {"type": "INT64", "comment": null, "index": 2, "name": "CAMPAIGN_ID"}, "CREATED_TIME": {"type": "STRING", "comment": null, "index": 3, "name": "CREATED_TIME"}, "NAME": {"type": "STRING", "comment": null, "index": 4, "name": "NAME"}, "STATUS": {"type": "STRING", "comment": null, "index": 5, "name": "STATUS"}, "START_TIME": {"type": "STRING", "comment": null, "index": 6, "name": "START_TIME"}, "END_TIME": {"type": "INT64", "comment": null, "index": 7, "name": "END_TIME"}, "_FIVETRAN_SYNCED": {"type": "STRING", "comment": null, "index": 8, "name": "_FIVETRAN_SYNCED"}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "description": "Indicates whether there are statistics for this table", "include": false}}, "unique_id": "model.pinterest_source.stg_pinterest_ads__ad_group_history_tmp"}, "model.pinterest_source.stg_pinterest_ads__pin_promotion_history": {"metadata": {"type": "table", "database": "dbt-package-testing", "schema": "pinterest_source_integration_tests_stg_pinterest", "name": "stg_pinterest_ads__pin_promotion_history", "comment": null, "owner": null}, "columns": {"pin_promotion_id": {"type": "INT64", "comment": null, "index": 1, "name": "pin_promotion_id"}, "ad_group_id": {"type": "INT64", "comment": null, "index": 2, "name": "ad_group_id"}, "created_timestamp": {"type": "STRING", "comment": null, "index": 3, "name": "created_timestamp"}, "destination_url": {"type": "STRING", "comment": null, "index": 4, "name": "destination_url"}, "base_url": {"type": "STRING", "comment": null, "index": 5, "name": "base_url"}, "url_host": {"type": "STRING", "comment": null, "index": 6, "name": "url_host"}, "url_path": {"type": "STRING", "comment": null, "index": 7, "name": "url_path"}, "utm_source": {"type": "STRING", "comment": null, "index": 8, "name": "utm_source"}, "utm_medium": {"type": "STRING", "comment": null, "index": 9, "name": "utm_medium"}, "utm_campaign": {"type": "STRING", "comment": null, "index": 10, "name": "utm_campaign"}, "utm_content": {"type": "STRING", "comment": null, "index": 11, "name": "utm_content"}, "utm_term": {"type": "STRING", "comment": null, "index": 12, "name": "utm_term"}, "name": {"type": "STRING", "comment": null, "index": 13, "name": "name"}, "pin_id": {"type": "INT64", "comment": null, "index": 14, "name": "pin_id"}, "status": {"type": "STRING", "comment": null, "index": 15, "name": "status"}, "creative_type": {"type": "STRING", "comment": null, "index": 16, "name": "creative_type"}, "_fivetran_synced": {"type": "STRING", "comment": null, "index": 17, "name": "_fivetran_synced"}, "version_id": {"type": "STRING", "comment": null, "index": 18, "name": "version_id"}}, "stats": {"num_rows": {"id": "num_rows", "label": "# Rows", "value": 18.0, "description": "Approximate count of rows in this table", "include": true}, "num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 4770.0, "description": "Approximate size of table as reported by BigQuery", "include": true}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "description": "Indicates whether there are statistics for this table", "include": false}}, "unique_id": "model.pinterest_source.stg_pinterest_ads__pin_promotion_history"}, "model.pinterest_source.stg_pinterest_ads__pin_promotion_report": {"metadata": {"type": "table", "database": "dbt-package-testing", "schema": "pinterest_source_integration_tests_stg_pinterest", "name": "stg_pinterest_ads__pin_promotion_report", "comment": null, "owner": null}, "columns": {"date_day": {"type": "STRING", "comment": null, "index": 1, "name": "date_day"}, "pin_promotion_id": {"type": "INT64", "comment": null, "index": 2, "name": "pin_promotion_id"}, "ad_group_id": {"type": "INT64", "comment": null, "index": 3, "name": "ad_group_id"}, "campaign_id": {"type": "INT64", "comment": null, "index": 4, "name": "campaign_id"}, "advertiser_id": {"type": "INT64", "comment": null, "index": 5, "name": "advertiser_id"}, "_fivetran_synced": {"type": "STRING", "comment": null, "index": 6, "name": "_fivetran_synced"}, "impressions": {"type": "INT64", "comment": null, "index": 7, "name": "impressions"}, "clicks": {"type": "INT64", "comment": null, "index": 8, "name": "clicks"}, "spend": {"type": "FLOAT64", "comment": null, "index": 9, "name": "spend"}, "report_id": {"type": "STRING", "comment": null, "index": 10, "name": "report_id"}}, "stats": {"num_rows": {"id": "num_rows", "label": "# Rows", "value": 100.0, "description": "Approximate count of rows in this table", "include": true}, "num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 15192.0, "description": "Approximate size of table as reported by BigQuery", "include": true}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "description": "Indicates whether there are statistics for this table", "include": false}}, "unique_id": "model.pinterest_source.stg_pinterest_ads__pin_promotion_report"}, "model.pinterest_source.stg_pinterest_ads__ad_group_history": {"metadata": {"type": "table", "database": "dbt-package-testing", "schema": "pinterest_source_integration_tests_stg_pinterest", "name": "stg_pinterest_ads__ad_group_history", "comment": null, "owner": null}, "columns": {"_fivetran_synced": {"type": "STRING", "comment": null, "index": 1, "name": "_fivetran_synced"}, "campaign_id": {"type": "INT64", "comment": null, "index": 2, "name": "campaign_id"}, "created_timestamp": {"type": "STRING", "comment": null, "index": 3, "name": "created_timestamp"}, "end_timestamp": {"type": "INT64", "comment": null, "index": 4, "name": "end_timestamp"}, "ad_group_id": {"type": "INT64", "comment": null, "index": 5, "name": "ad_group_id"}, "name": {"type": "STRING", "comment": null, "index": 6, "name": "name"}, "start_timestamp": {"type": "STRING", "comment": null, "index": 7, "name": "start_timestamp"}, "status": {"type": "STRING", "comment": null, "index": 8, "name": "status"}, "version_id": {"type": "STRING", "comment": null, "index": 9, "name": "version_id"}}, "stats": {"num_rows": {"id": "num_rows", "label": "# Rows", "value": 4.0, "description": "Approximate count of rows in this table", "include": true}, "num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 740.0, "description": "Approximate size of table as reported by BigQuery", "include": true}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "description": "Indicates whether there are statistics for this table", "include": false}}, "unique_id": "model.pinterest_source.stg_pinterest_ads__ad_group_history"}, "model.pinterest_source.stg_pinterest_ads__campaign_history": {"metadata": {"type": "table", "database": "dbt-package-testing", "schema": "pinterest_source_integration_tests_stg_pinterest", "name": "stg_pinterest_ads__campaign_history", "comment": null, "owner": null}, "columns": {"_fivetran_synced": {"type": "STRING", "comment": null, "index": 1, "name": "_fivetran_synced"}, "created_timestamp": {"type": "STRING", "comment": null, "index": 2, "name": "created_timestamp"}, "campaign_id": {"type": "INT64", "comment": null, "index": 3, "name": "campaign_id"}, "name": {"type": "STRING", "comment": null, "index": 4, "name": "name"}, "status": {"type": "STRING", "comment": null, "index": 5, "name": "status"}, "version_id": {"type": "STRING", "comment": null, "index": 6, "name": "version_id"}}, "stats": {"num_rows": {"id": "num_rows", "label": "# Rows", "value": 1.0, "description": "Approximate count of rows in this table", "include": true}, "num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 146.0, "description": "Approximate size of table as reported by BigQuery", "include": true}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "description": "Indicates whether there are statistics for this table", "include": false}}, "unique_id": "model.pinterest_source.stg_pinterest_ads__campaign_history"}, "seed.pinterest_source_integration_tests.pin_promotion_history_data": {"metadata": {"type": "table", "database": "dbt-package-testing", "schema": "pinterest_source_integration_tests", "name": "pin_promotion_history_data", "comment": null, "owner": null}, "columns": {"ID": {"type": "INT64", "comment": null, "index": 1, "name": "ID"}, "AD_GROUP_ID": {"type": "INT64", "comment": null, "index": 2, "name": "AD_GROUP_ID"}, "CREATED_TIME": {"type": "STRING", "comment": null, "index": 3, "name": "CREATED_TIME"}, "DESTINATION_URL": {"type": "STRING", "comment": null, "index": 4, "name": "DESTINATION_URL"}, "NAME": {"type": "STRING", "comment": null, "index": 5, "name": "NAME"}, "PIN_ID": {"type": "INT64", "comment": null, "index": 6, "name": "PIN_ID"}, "STATUS": {"type": "STRING", "comment": null, "index": 7, "name": "STATUS"}, "CREATIVE_TYPE": {"type": "STRING", "comment": null, "index": 8, "name": "CREATIVE_TYPE"}, "_FIVETRAN_SYNCED": {"type": "STRING", "comment": null, "index": 9, "name": "_FIVETRAN_SYNCED"}}, "stats": {"num_rows": {"id": "num_rows", "label": "# Rows", "value": 18.0, "description": "Approximate count of rows in this table", "include": true}, "num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 3204.0, "description": "Approximate size of table as reported by BigQuery", "include": true}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "description": "Indicates whether there are statistics for this table", "include": false}}, "unique_id": "seed.pinterest_source_integration_tests.pin_promotion_history_data"}, "seed.pinterest_source_integration_tests.campaign_history_data": {"metadata": {"type": "table", "database": "dbt-package-testing", "schema": "pinterest_source_integration_tests", "name": "campaign_history_data", "comment": null, "owner": null}, "columns": {"ID": {"type": "INT64", "comment": null, "index": 1, "name": "ID"}, "CREATED_TIME": {"type": "STRING", "comment": null, "index": 2, "name": "CREATED_TIME"}, "NAME": {"type": "STRING", "comment": null, "index": 3, "name": "NAME"}, "STATUS": {"type": "STRING", "comment": null, "index": 4, "name": "STATUS"}, "_FIVETRAN_SYNCED": {"type": "STRING", "comment": null, "index": 5, "name": "_FIVETRAN_SYNCED"}}, "stats": {"num_rows": {"id": "num_rows", "label": "# Rows", "value": 1.0, "description": "Approximate count of rows in this table", "include": true}, "num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 112.0, "description": "Approximate size of table as reported by BigQuery", "include": true}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "description": "Indicates whether there are statistics for this table", "include": false}}, "unique_id": "seed.pinterest_source_integration_tests.campaign_history_data"}, "seed.pinterest_source_integration_tests.pin_promotion_report_data": {"metadata": {"type": "table", "database": "dbt-package-testing", "schema": "pinterest_source_integration_tests", "name": "pin_promotion_report_data", "comment": null, "owner": null}, "columns": {"DATE": {"type": "STRING", "comment": null, "index": 1, "name": "DATE"}, "PIN_PROMOTION_ID": {"type": "INT64", "comment": null, "index": 2, "name": "PIN_PROMOTION_ID"}, "AD_GROUP_ID": {"type": "INT64", "comment": null, "index": 3, "name": "AD_GROUP_ID"}, "CAMPAIGN_ID": {"type": "INT64", "comment": null, "index": 4, "name": "CAMPAIGN_ID"}, "ADVERTISER_ID": {"type": "INT64", "comment": null, "index": 5, "name": "ADVERTISER_ID"}, "_FIVETRAN_SYNCED": {"type": "STRING", "comment": null, "index": 6, "name": "_FIVETRAN_SYNCED"}, "IMPRESSION_1": {"type": "INT64", "comment": null, "index": 7, "name": "IMPRESSION_1"}, "IMPRESSION_2": {"type": "INT64", "comment": null, "index": 8, "name": "IMPRESSION_2"}, "CLICKTHROUGH_1": {"type": "INT64", "comment": null, "index": 9, "name": "CLICKTHROUGH_1"}, "CLICKTHROUGH_2": {"type": "INT64", "comment": null, "index": 10, "name": "CLICKTHROUGH_2"}, "SPEND_IN_MICRO_DOLLAR": {"type": "INT64", "comment": null, "index": 11, "name": "SPEND_IN_MICRO_DOLLAR"}}, "stats": {"num_rows": {"id": "num_rows", "label": "# Rows", "value": 100.0, "description": "Approximate count of rows in this table", "include": true}, "num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 12008.0, "description": "Approximate size of table as reported by BigQuery", "include": true}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "description": "Indicates whether there are statistics for this table", "include": false}}, "unique_id": "seed.pinterest_source_integration_tests.pin_promotion_report_data"}, "seed.pinterest_source_integration_tests.ad_group_history_data": {"metadata": {"type": "table", "database": "dbt-package-testing", "schema": "pinterest_source_integration_tests", "name": "ad_group_history_data", "comment": null, "owner": null}, "columns": {"ID": {"type": "INT64", "comment": null, "index": 1, "name": "ID"}, "CAMPAIGN_ID": {"type": "INT64", "comment": null, "index": 2, "name": "CAMPAIGN_ID"}, "CREATED_TIME": {"type": "STRING", "comment": null, "index": 3, "name": "CREATED_TIME"}, "NAME": {"type": "STRING", "comment": null, "index": 4, "name": "NAME"}, "STATUS": {"type": "STRING", "comment": null, "index": 5, "name": "STATUS"}, "START_TIME": {"type": "STRING", "comment": null, "index": 6, "name": "START_TIME"}, "END_TIME": {"type": "INT64", "comment": null, "index": 7, "name": "END_TIME"}, "_FIVETRAN_SYNCED": {"type": "STRING", "comment": null, "index": 8, "name": "_FIVETRAN_SYNCED"}}, "stats": {"num_rows": {"id": "num_rows", "label": "# Rows", "value": 4.0, "description": "Approximate count of rows in this table", "include": true}, "num_bytes": {"id": "num_bytes", "label": "Approximate Size", "value": 604.0, "description": "Approximate size of table as reported by BigQuery", "include": true}, "has_stats": {"id": "has_stats", "label": "Has Stats?", "value": true, "description": "Indicates whether there are statistics for this table", "include": false}}, "unique_id": "seed.pinterest_source_integration_tests.ad_group_history_data"}}, "sources": {}, "errors": null} \ No newline at end of file +{"metadata": {"dbt_schema_version": "https://schemas.getdbt.com/dbt/catalog/v1.json", "dbt_version": "1.0.4", "generated_at": "2022-06-30T19:28:50.572312Z", "invocation_id": "95030cc3-b499-42bd-89f0-d11773ebc3b0", "env": {}}, "nodes": {"seed.pinterest_source_integration_tests.ad_group_history_data": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "ad_group_history_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "campaign_id": {"type": "bigint", "index": 2, "name": "campaign_id", "comment": null}, "created_time": {"type": "text", "index": 3, "name": "created_time", "comment": null}, "name": {"type": "text", "index": 4, "name": "name", "comment": null}, "status": {"type": "text", "index": 5, "name": "status", "comment": null}, "start_time": {"type": "text", "index": 6, "name": "start_time", "comment": null}, "end_time": {"type": "integer", "index": 7, "name": "end_time", "comment": null}, "_fivetran_synced": {"type": "text", "index": 8, "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.pinterest_source_integration_tests.ad_group_history_data"}, "seed.pinterest_source_integration_tests.ad_group_report_data": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "ad_group_report_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"ad_group_id": {"type": "bigint", "index": 1, "name": "ad_group_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 2, "name": "advertiser_id", "comment": null}, "date": {"type": "timestamp without time zone", "index": 3, "name": "date", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 4, "name": "_fivetran_synced", "comment": null}, "ad_group_name": {"type": "text", "index": 5, "name": "ad_group_name", "comment": null}, "ad_group_status": {"type": "text", "index": 6, "name": "ad_group_status", "comment": null}, "campaign_daily_spend_cap": {"type": "integer", "index": 7, "name": "campaign_daily_spend_cap", "comment": null}, "campaign_id": {"type": "bigint", "index": 8, "name": "campaign_id", "comment": null}, "campaign_lifetime_spend_cap": {"type": "integer", "index": 9, "name": "campaign_lifetime_spend_cap", "comment": null}, "campaign_name": {"type": "text", "index": 10, "name": "campaign_name", "comment": null}, "campaign_status": {"type": "text", "index": 11, "name": "campaign_status", "comment": null}, "clickthrough_1": {"type": "integer", "index": 12, "name": "clickthrough_1", "comment": null}, "clickthrough_1_gross": {"type": "integer", "index": 13, "name": "clickthrough_1_gross", "comment": null}, "cpc_in_micro_dollar": {"type": "double precision", "index": 14, "name": "cpc_in_micro_dollar", "comment": null}, "cpm_in_micro_dollar": {"type": "double precision", "index": 15, "name": "cpm_in_micro_dollar", "comment": null}, "ctr": {"type": "double precision", "index": 16, "name": "ctr", "comment": null}, "ecpc_in_micro_dollar": {"type": "double precision", "index": 17, "name": "ecpc_in_micro_dollar", "comment": null}, "ecpm_in_micro_dollar": {"type": "double precision", "index": 18, "name": "ecpm_in_micro_dollar", "comment": null}, "ectr": {"type": "double precision", "index": 19, "name": "ectr", "comment": null}, "engagement_1": {"type": "integer", "index": 20, "name": "engagement_1", "comment": null}, "impression_1": {"type": "integer", "index": 21, "name": "impression_1", "comment": null}, "impression_1_gross": {"type": "integer", "index": 22, "name": "impression_1_gross", "comment": null}, "outbound_click_1": {"type": "integer", "index": 23, "name": "outbound_click_1", "comment": null}, "paid_impression": {"type": "integer", "index": 24, "name": "paid_impression", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 25, "name": "spend_in_micro_dollar", "comment": null}, "total_engagement": {"type": "integer", "index": 26, "name": "total_engagement", "comment": null}, "total_impression_frequency": {"type": "double precision", "index": 27, "name": "total_impression_frequency", "comment": null}, "total_impression_user": {"type": "integer", "index": 28, "name": "total_impression_user", "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.pinterest_source_integration_tests.ad_group_report_data"}, "seed.pinterest_source_integration_tests.advertiser_history_data": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "advertiser_history_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "updated_time": {"type": "timestamp without time zone", "index": 2, "name": "updated_time", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "billing_profile_status": {"type": "text", "index": 4, "name": "billing_profile_status", "comment": null}, "billing_type": {"type": "text", "index": 5, "name": "billing_type", "comment": null}, "country": {"type": "text", "index": 6, "name": "country", "comment": null}, "created_time": {"type": "timestamp without time zone", "index": 7, "name": "created_time", "comment": null}, "currency": {"type": "text", "index": 8, "name": "currency", "comment": null}, "merchant_id": {"type": "integer", "index": 9, "name": "merchant_id", "comment": null}, "name": {"type": "text", "index": 10, "name": "name", "comment": null}, "owner_user_id": {"type": "integer", "index": 11, "name": "owner_user_id", "comment": null}, "status": {"type": "text", "index": 12, "name": "status", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "seed.pinterest_source_integration_tests.advertiser_history_data"}, "seed.pinterest_source_integration_tests.advertiser_report_data": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "advertiser_report_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"advertiser_id": {"type": "bigint", "index": 1, "name": "advertiser_id", "comment": null}, "date": {"type": "timestamp without time zone", "index": 2, "name": "date", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "clickthrough_1": {"type": "integer", "index": 4, "name": "clickthrough_1", "comment": null}, "clickthrough_1_gross": {"type": "integer", "index": 5, "name": "clickthrough_1_gross", "comment": null}, "cpc_in_micro_dollar": {"type": "double precision", "index": 6, "name": "cpc_in_micro_dollar", "comment": null}, "cpm_in_micro_dollar": {"type": "double precision", "index": 7, "name": "cpm_in_micro_dollar", "comment": null}, "ctr": {"type": "double precision", "index": 8, "name": "ctr", "comment": null}, "ecpc_in_micro_dollar": {"type": "double precision", "index": 9, "name": "ecpc_in_micro_dollar", "comment": null}, "ecpm_in_micro_dollar": {"type": "double precision", "index": 10, "name": "ecpm_in_micro_dollar", "comment": null}, "ectr": {"type": "double precision", "index": 11, "name": "ectr", "comment": null}, "engagement_1": {"type": "integer", "index": 12, "name": "engagement_1", "comment": null}, "impression_1": {"type": "integer", "index": 13, "name": "impression_1", "comment": null}, "impression_1_gross": {"type": "integer", "index": 14, "name": "impression_1_gross", "comment": null}, "outbound_click_1": {"type": "integer", "index": 15, "name": "outbound_click_1", "comment": null}, "paid_impression": {"type": "integer", "index": 16, "name": "paid_impression", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 17, "name": "spend_in_micro_dollar", "comment": null}, "total_engagement": {"type": "integer", "index": 18, "name": "total_engagement", "comment": null}, "total_impression_frequency": {"type": "double precision", "index": 19, "name": "total_impression_frequency", "comment": null}, "total_impression_user": {"type": "integer", "index": 20, "name": "total_impression_user", "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.pinterest_source_integration_tests.advertiser_report_data"}, "seed.pinterest_source_integration_tests.campaign_history_data": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "campaign_history_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "created_time": {"type": "text", "index": 2, "name": "created_time", "comment": null}, "name": {"type": "text", "index": 3, "name": "name", "comment": null}, "status": {"type": "text", "index": 4, "name": "status", "comment": null}, "_fivetran_synced": {"type": "text", "index": 5, "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.pinterest_source_integration_tests.campaign_history_data"}, "seed.pinterest_source_integration_tests.campaign_report_data": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "campaign_report_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"advertiser_id": {"type": "bigint", "index": 1, "name": "advertiser_id", "comment": null}, "campaign_id": {"type": "bigint", "index": 2, "name": "campaign_id", "comment": null}, "date": {"type": "timestamp without time zone", "index": 3, "name": "date", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 4, "name": "_fivetran_synced", "comment": null}, "campaign_daily_spend_cap": {"type": "integer", "index": 5, "name": "campaign_daily_spend_cap", "comment": null}, "campaign_lifetime_spend_cap": {"type": "integer", "index": 6, "name": "campaign_lifetime_spend_cap", "comment": null}, "campaign_name": {"type": "text", "index": 7, "name": "campaign_name", "comment": null}, "campaign_status": {"type": "text", "index": 8, "name": "campaign_status", "comment": null}, "clickthrough_1": {"type": "integer", "index": 9, "name": "clickthrough_1", "comment": null}, "clickthrough_1_gross": {"type": "integer", "index": 10, "name": "clickthrough_1_gross", "comment": null}, "cpc_in_micro_dollar": {"type": "double precision", "index": 11, "name": "cpc_in_micro_dollar", "comment": null}, "cpm_in_micro_dollar": {"type": "double precision", "index": 12, "name": "cpm_in_micro_dollar", "comment": null}, "ctr": {"type": "double precision", "index": 13, "name": "ctr", "comment": null}, "ecpc_in_micro_dollar": {"type": "double precision", "index": 14, "name": "ecpc_in_micro_dollar", "comment": null}, "ecpm_in_micro_dollar": {"type": "double precision", "index": 15, "name": "ecpm_in_micro_dollar", "comment": null}, "ectr": {"type": "double precision", "index": 16, "name": "ectr", "comment": null}, "engagement_1": {"type": "integer", "index": 17, "name": "engagement_1", "comment": null}, "impression_1": {"type": "integer", "index": 18, "name": "impression_1", "comment": null}, "impression_1_gross": {"type": "integer", "index": 19, "name": "impression_1_gross", "comment": null}, "outbound_click_1": {"type": "integer", "index": 20, "name": "outbound_click_1", "comment": null}, "paid_impression": {"type": "integer", "index": 21, "name": "paid_impression", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 22, "name": "spend_in_micro_dollar", "comment": null}, "total_engagement": {"type": "integer", "index": 23, "name": "total_engagement", "comment": null}, "total_impression_frequency": {"type": "double precision", "index": 24, "name": "total_impression_frequency", "comment": null}, "total_impression_user": {"type": "integer", "index": 25, "name": "total_impression_user", "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.pinterest_source_integration_tests.campaign_report_data"}, "seed.pinterest_source_integration_tests.keyword_history_data": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "keyword_history_data", "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}, "ad_group_id": {"type": "bigint", "index": 3, "name": "ad_group_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 4, "name": "advertiser_id", "comment": null}, "archived": {"type": "boolean", "index": 5, "name": "archived", "comment": null}, "bid": {"type": "integer", "index": 6, "name": "bid", "comment": null}, "campaign_id": {"type": "bigint", "index": 7, "name": "campaign_id", "comment": null}, "id": {"type": "bigint", "index": 8, "name": "id", "comment": null}, "match_type": {"type": "text", "index": 9, "name": "match_type", "comment": null}, "parent_type": {"type": "text", "index": 10, "name": "parent_type", "comment": null}, "value": {"type": "text", "index": 11, "name": "value", "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.pinterest_source_integration_tests.keyword_history_data"}, "seed.pinterest_source_integration_tests.keyword_report_data": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "keyword_report_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"ad_group_id": {"type": "bigint", "index": 1, "name": "ad_group_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 2, "name": "advertiser_id", "comment": null}, "campaign_id": {"type": "bigint", "index": 3, "name": "campaign_id", "comment": null}, "date": {"type": "timestamp without time zone", "index": 4, "name": "date", "comment": null}, "keyword_id": {"type": "bigint", "index": 5, "name": "keyword_id", "comment": null}, "pin_id": {"type": "bigint", "index": 6, "name": "pin_id", "comment": null}, "pin_promotion_id": {"type": "bigint", "index": 7, "name": "pin_promotion_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 8, "name": "_fivetran_synced", "comment": null}, "ad_group_name": {"type": "text", "index": 9, "name": "ad_group_name", "comment": null}, "ad_group_status": {"type": "text", "index": 10, "name": "ad_group_status", "comment": null}, "campaign_daily_spend_cap": {"type": "integer", "index": 11, "name": "campaign_daily_spend_cap", "comment": null}, "campaign_lifetime_spend_cap": {"type": "integer", "index": 12, "name": "campaign_lifetime_spend_cap", "comment": null}, "campaign_name": {"type": "text", "index": 13, "name": "campaign_name", "comment": null}, "campaign_status": {"type": "text", "index": 14, "name": "campaign_status", "comment": null}, "clickthrough_1": {"type": "integer", "index": 15, "name": "clickthrough_1", "comment": null}, "clickthrough_1_gross": {"type": "integer", "index": 16, "name": "clickthrough_1_gross", "comment": null}, "cpc_in_micro_dollar": {"type": "integer", "index": 17, "name": "cpc_in_micro_dollar", "comment": null}, "cpm_in_micro_dollar": {"type": "double precision", "index": 18, "name": "cpm_in_micro_dollar", "comment": null}, "ctr": {"type": "integer", "index": 19, "name": "ctr", "comment": null}, "ecpc_in_micro_dollar": {"type": "integer", "index": 20, "name": "ecpc_in_micro_dollar", "comment": null}, "ecpm_in_micro_dollar": {"type": "double precision", "index": 21, "name": "ecpm_in_micro_dollar", "comment": null}, "ectr": {"type": "integer", "index": 22, "name": "ectr", "comment": null}, "engagement_1": {"type": "integer", "index": 23, "name": "engagement_1", "comment": null}, "impression_1": {"type": "integer", "index": 24, "name": "impression_1", "comment": null}, "impression_1_gross": {"type": "integer", "index": 25, "name": "impression_1_gross", "comment": null}, "outbound_click_1": {"type": "integer", "index": 26, "name": "outbound_click_1", "comment": null}, "paid_impression": {"type": "integer", "index": 27, "name": "paid_impression", "comment": null}, "pin_promotion_name": {"type": "text", "index": 28, "name": "pin_promotion_name", "comment": null}, "pin_promotion_status": {"type": "text", "index": 29, "name": "pin_promotion_status", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 30, "name": "spend_in_micro_dollar", "comment": null}, "targeting_type": {"type": "text", "index": 31, "name": "targeting_type", "comment": null}, "targeting_value": {"type": "text", "index": 32, "name": "targeting_value", "comment": null}, "total_engagement": {"type": "integer", "index": 33, "name": "total_engagement", "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.pinterest_source_integration_tests.keyword_report_data"}, "seed.pinterest_source_integration_tests.pin_promotion_history_data": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "pin_promotion_history_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "ad_group_id": {"type": "bigint", "index": 2, "name": "ad_group_id", "comment": null}, "created_time": {"type": "text", "index": 3, "name": "created_time", "comment": null}, "destination_url": {"type": "text", "index": 4, "name": "destination_url", "comment": null}, "name": {"type": "text", "index": 5, "name": "name", "comment": null}, "pin_id": {"type": "bigint", "index": 6, "name": "pin_id", "comment": null}, "status": {"type": "text", "index": 7, "name": "status", "comment": null}, "creative_type": {"type": "text", "index": 8, "name": "creative_type", "comment": null}, "_fivetran_synced": {"type": "text", "index": 9, "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.pinterest_source_integration_tests.pin_promotion_history_data"}, "seed.pinterest_source_integration_tests.pin_promotion_report_data": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "pin_promotion_report_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"date": {"type": "text", "index": 1, "name": "date", "comment": null}, "pin_promotion_id": {"type": "bigint", "index": 2, "name": "pin_promotion_id", "comment": null}, "ad_group_id": {"type": "bigint", "index": 3, "name": "ad_group_id", "comment": null}, "campaign_id": {"type": "bigint", "index": 4, "name": "campaign_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 5, "name": "advertiser_id", "comment": null}, "_fivetran_synced": {"type": "text", "index": 6, "name": "_fivetran_synced", "comment": null}, "impression_1": {"type": "integer", "index": 7, "name": "impression_1", "comment": null}, "impression_2": {"type": "integer", "index": 8, "name": "impression_2", "comment": null}, "clickthrough_1": {"type": "integer", "index": 9, "name": "clickthrough_1", "comment": null}, "clickthrough_2": {"type": "integer", "index": 10, "name": "clickthrough_2", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 11, "name": "spend_in_micro_dollar", "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.pinterest_source_integration_tests.pin_promotion_report_data"}, "model.pinterest_source.stg_pinterest_ads__ad_group_history": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__ad_group_history", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"ad_group_id": {"type": "bigint", "index": 1, "name": "ad_group_id", "comment": null}, "ad_group_name": {"type": "text", "index": 2, "name": "ad_group_name", "comment": null}, "ad_group_status": {"type": "text", "index": 3, "name": "ad_group_status", "comment": null}, "_fivetran_synced": {"type": "text", "index": 4, "name": "_fivetran_synced", "comment": null}, "campaign_id": {"type": "bigint", "index": 5, "name": "campaign_id", "comment": null}, "created_at": {"type": "text", "index": 6, "name": "created_at", "comment": null}, "end_time": {"type": "integer", "index": 7, "name": "end_time", "comment": null}, "start_time": {"type": "text", "index": 8, "name": "start_time", "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.pinterest_source.stg_pinterest_ads__ad_group_history"}, "model.pinterest_source.stg_pinterest_ads__ad_group_history_tmp": {"metadata": {"type": "VIEW", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__ad_group_history_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "campaign_id": {"type": "bigint", "index": 2, "name": "campaign_id", "comment": null}, "created_time": {"type": "text", "index": 3, "name": "created_time", "comment": null}, "name": {"type": "text", "index": 4, "name": "name", "comment": null}, "status": {"type": "text", "index": 5, "name": "status", "comment": null}, "start_time": {"type": "text", "index": 6, "name": "start_time", "comment": null}, "end_time": {"type": "integer", "index": 7, "name": "end_time", "comment": null}, "_fivetran_synced": {"type": "text", "index": 8, "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.pinterest_source.stg_pinterest_ads__ad_group_history_tmp"}, "model.pinterest_source.stg_pinterest_ads__ad_group_report": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__ad_group_report", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"date_day": {"type": "timestamp without time zone", "index": 1, "name": "date_day", "comment": null}, "ad_group_id": {"type": "bigint", "index": 2, "name": "ad_group_id", "comment": null}, "ad_group_name": {"type": "text", "index": 3, "name": "ad_group_name", "comment": null}, "ad_group_status": {"type": "text", "index": 4, "name": "ad_group_status", "comment": null}, "campaign_id": {"type": "bigint", "index": 5, "name": "campaign_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 6, "name": "advertiser_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 7, "name": "_fivetran_synced", "comment": null}, "impressions": {"type": "integer", "index": 8, "name": "impressions", "comment": null}, "clicks": {"type": "integer", "index": 9, "name": "clicks", "comment": null}, "spend": {"type": "numeric", "index": 10, "name": "spend", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.pinterest_source.stg_pinterest_ads__ad_group_report"}, "model.pinterest_source.stg_pinterest_ads__ad_group_report_tmp": {"metadata": {"type": "VIEW", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__ad_group_report_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"ad_group_id": {"type": "bigint", "index": 1, "name": "ad_group_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 2, "name": "advertiser_id", "comment": null}, "date": {"type": "timestamp without time zone", "index": 3, "name": "date", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 4, "name": "_fivetran_synced", "comment": null}, "ad_group_name": {"type": "text", "index": 5, "name": "ad_group_name", "comment": null}, "ad_group_status": {"type": "text", "index": 6, "name": "ad_group_status", "comment": null}, "campaign_daily_spend_cap": {"type": "integer", "index": 7, "name": "campaign_daily_spend_cap", "comment": null}, "campaign_id": {"type": "bigint", "index": 8, "name": "campaign_id", "comment": null}, "campaign_lifetime_spend_cap": {"type": "integer", "index": 9, "name": "campaign_lifetime_spend_cap", "comment": null}, "campaign_name": {"type": "text", "index": 10, "name": "campaign_name", "comment": null}, "campaign_status": {"type": "text", "index": 11, "name": "campaign_status", "comment": null}, "clickthrough_1": {"type": "integer", "index": 12, "name": "clickthrough_1", "comment": null}, "clickthrough_1_gross": {"type": "integer", "index": 13, "name": "clickthrough_1_gross", "comment": null}, "cpc_in_micro_dollar": {"type": "double precision", "index": 14, "name": "cpc_in_micro_dollar", "comment": null}, "cpm_in_micro_dollar": {"type": "double precision", "index": 15, "name": "cpm_in_micro_dollar", "comment": null}, "ctr": {"type": "double precision", "index": 16, "name": "ctr", "comment": null}, "ecpc_in_micro_dollar": {"type": "double precision", "index": 17, "name": "ecpc_in_micro_dollar", "comment": null}, "ecpm_in_micro_dollar": {"type": "double precision", "index": 18, "name": "ecpm_in_micro_dollar", "comment": null}, "ectr": {"type": "double precision", "index": 19, "name": "ectr", "comment": null}, "engagement_1": {"type": "integer", "index": 20, "name": "engagement_1", "comment": null}, "impression_1": {"type": "integer", "index": 21, "name": "impression_1", "comment": null}, "impression_1_gross": {"type": "integer", "index": 22, "name": "impression_1_gross", "comment": null}, "outbound_click_1": {"type": "integer", "index": 23, "name": "outbound_click_1", "comment": null}, "paid_impression": {"type": "integer", "index": 24, "name": "paid_impression", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 25, "name": "spend_in_micro_dollar", "comment": null}, "total_engagement": {"type": "integer", "index": 26, "name": "total_engagement", "comment": null}, "total_impression_frequency": {"type": "double precision", "index": 27, "name": "total_impression_frequency", "comment": null}, "total_impression_user": {"type": "integer", "index": 28, "name": "total_impression_user", "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.pinterest_source.stg_pinterest_ads__ad_group_report_tmp"}, "model.pinterest_source.stg_pinterest_ads__advertiser_history": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__advertiser_history", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"advertiser_id": {"type": "bigint", "index": 1, "name": "advertiser_id", "comment": null}, "advertiser_name": {"type": "text", "index": 2, "name": "advertiser_name", "comment": null}, "advertiser_status": {"type": "text", "index": 3, "name": "advertiser_status", "comment": null}, "billing_profile_status": {"type": "text", "index": 4, "name": "billing_profile_status", "comment": null}, "billing_type": {"type": "text", "index": 5, "name": "billing_type", "comment": null}, "country": {"type": "text", "index": 6, "name": "country", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 7, "name": "created_at", "comment": null}, "currency": {"type": "text", "index": 8, "name": "currency", "comment": null}, "merchant_id": {"type": "integer", "index": 9, "name": "merchant_id", "comment": null}, "owner_user_id": {"type": "integer", "index": 10, "name": "owner_user_id", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 11, "name": "updated_at", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 12, "name": "_fivetran_synced", "comment": null}, "is_most_recent_record": {"type": "boolean", "index": 13, "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.pinterest_source.stg_pinterest_ads__advertiser_history"}, "model.pinterest_source.stg_pinterest_ads__advertiser_history_tmp": {"metadata": {"type": "VIEW", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__advertiser_history_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "updated_time": {"type": "timestamp without time zone", "index": 2, "name": "updated_time", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "billing_profile_status": {"type": "text", "index": 4, "name": "billing_profile_status", "comment": null}, "billing_type": {"type": "text", "index": 5, "name": "billing_type", "comment": null}, "country": {"type": "text", "index": 6, "name": "country", "comment": null}, "created_time": {"type": "timestamp without time zone", "index": 7, "name": "created_time", "comment": null}, "currency": {"type": "text", "index": 8, "name": "currency", "comment": null}, "merchant_id": {"type": "integer", "index": 9, "name": "merchant_id", "comment": null}, "name": {"type": "text", "index": 10, "name": "name", "comment": null}, "owner_user_id": {"type": "integer", "index": 11, "name": "owner_user_id", "comment": null}, "status": {"type": "text", "index": 12, "name": "status", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.pinterest_source.stg_pinterest_ads__advertiser_history_tmp"}, "model.pinterest_source.stg_pinterest_ads__advertiser_report": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__advertiser_report", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"date_day": {"type": "timestamp without time zone", "index": 1, "name": "date_day", "comment": null}, "advertiser_id": {"type": "bigint", "index": 2, "name": "advertiser_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "impressions": {"type": "integer", "index": 4, "name": "impressions", "comment": null}, "clicks": {"type": "integer", "index": 5, "name": "clicks", "comment": null}, "spend": {"type": "numeric", "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.pinterest_source.stg_pinterest_ads__advertiser_report"}, "model.pinterest_source.stg_pinterest_ads__advertiser_report_tmp": {"metadata": {"type": "VIEW", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__advertiser_report_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"advertiser_id": {"type": "bigint", "index": 1, "name": "advertiser_id", "comment": null}, "date": {"type": "timestamp without time zone", "index": 2, "name": "date", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "clickthrough_1": {"type": "integer", "index": 4, "name": "clickthrough_1", "comment": null}, "clickthrough_1_gross": {"type": "integer", "index": 5, "name": "clickthrough_1_gross", "comment": null}, "cpc_in_micro_dollar": {"type": "double precision", "index": 6, "name": "cpc_in_micro_dollar", "comment": null}, "cpm_in_micro_dollar": {"type": "double precision", "index": 7, "name": "cpm_in_micro_dollar", "comment": null}, "ctr": {"type": "double precision", "index": 8, "name": "ctr", "comment": null}, "ecpc_in_micro_dollar": {"type": "double precision", "index": 9, "name": "ecpc_in_micro_dollar", "comment": null}, "ecpm_in_micro_dollar": {"type": "double precision", "index": 10, "name": "ecpm_in_micro_dollar", "comment": null}, "ectr": {"type": "double precision", "index": 11, "name": "ectr", "comment": null}, "engagement_1": {"type": "integer", "index": 12, "name": "engagement_1", "comment": null}, "impression_1": {"type": "integer", "index": 13, "name": "impression_1", "comment": null}, "impression_1_gross": {"type": "integer", "index": 14, "name": "impression_1_gross", "comment": null}, "outbound_click_1": {"type": "integer", "index": 15, "name": "outbound_click_1", "comment": null}, "paid_impression": {"type": "integer", "index": 16, "name": "paid_impression", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 17, "name": "spend_in_micro_dollar", "comment": null}, "total_engagement": {"type": "integer", "index": 18, "name": "total_engagement", "comment": null}, "total_impression_frequency": {"type": "double precision", "index": 19, "name": "total_impression_frequency", "comment": null}, "total_impression_user": {"type": "integer", "index": 20, "name": "total_impression_user", "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.pinterest_source.stg_pinterest_ads__advertiser_report_tmp"}, "model.pinterest_source.stg_pinterest_ads__campaign_history": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__campaign_history", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"campaign_id": {"type": "bigint", "index": 1, "name": "campaign_id", "comment": null}, "campaign_name": {"type": "text", "index": 2, "name": "campaign_name", "comment": null}, "campaign_status": {"type": "text", "index": 3, "name": "campaign_status", "comment": null}, "_fivetran_synced": {"type": "text", "index": 4, "name": "_fivetran_synced", "comment": null}, "created_at": {"type": "text", "index": 5, "name": "created_at", "comment": null}, "is_most_recent_record": {"type": "boolean", "index": 6, "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.pinterest_source.stg_pinterest_ads__campaign_history"}, "model.pinterest_source.stg_pinterest_ads__campaign_history_tmp": {"metadata": {"type": "VIEW", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__campaign_history_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "created_time": {"type": "text", "index": 2, "name": "created_time", "comment": null}, "name": {"type": "text", "index": 3, "name": "name", "comment": null}, "status": {"type": "text", "index": 4, "name": "status", "comment": null}, "_fivetran_synced": {"type": "text", "index": 5, "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.pinterest_source.stg_pinterest_ads__campaign_history_tmp"}, "model.pinterest_source.stg_pinterest_ads__campaign_report": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__campaign_report", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"date_day": {"type": "timestamp without time zone", "index": 1, "name": "date_day", "comment": null}, "campaign_id": {"type": "bigint", "index": 2, "name": "campaign_id", "comment": null}, "campaign_name": {"type": "text", "index": 3, "name": "campaign_name", "comment": null}, "campaign_status": {"type": "text", "index": 4, "name": "campaign_status", "comment": null}, "advertiser_id": {"type": "bigint", "index": 5, "name": "advertiser_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 6, "name": "_fivetran_synced", "comment": null}, "impressions": {"type": "integer", "index": 7, "name": "impressions", "comment": null}, "clicks": {"type": "integer", "index": 8, "name": "clicks", "comment": null}, "spend": {"type": "numeric", "index": 9, "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.pinterest_source.stg_pinterest_ads__campaign_report"}, "model.pinterest_source.stg_pinterest_ads__campaign_report_tmp": {"metadata": {"type": "VIEW", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__campaign_report_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"advertiser_id": {"type": "bigint", "index": 1, "name": "advertiser_id", "comment": null}, "campaign_id": {"type": "bigint", "index": 2, "name": "campaign_id", "comment": null}, "date": {"type": "timestamp without time zone", "index": 3, "name": "date", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 4, "name": "_fivetran_synced", "comment": null}, "campaign_daily_spend_cap": {"type": "integer", "index": 5, "name": "campaign_daily_spend_cap", "comment": null}, "campaign_lifetime_spend_cap": {"type": "integer", "index": 6, "name": "campaign_lifetime_spend_cap", "comment": null}, "campaign_name": {"type": "text", "index": 7, "name": "campaign_name", "comment": null}, "campaign_status": {"type": "text", "index": 8, "name": "campaign_status", "comment": null}, "clickthrough_1": {"type": "integer", "index": 9, "name": "clickthrough_1", "comment": null}, "clickthrough_1_gross": {"type": "integer", "index": 10, "name": "clickthrough_1_gross", "comment": null}, "cpc_in_micro_dollar": {"type": "double precision", "index": 11, "name": "cpc_in_micro_dollar", "comment": null}, "cpm_in_micro_dollar": {"type": "double precision", "index": 12, "name": "cpm_in_micro_dollar", "comment": null}, "ctr": {"type": "double precision", "index": 13, "name": "ctr", "comment": null}, "ecpc_in_micro_dollar": {"type": "double precision", "index": 14, "name": "ecpc_in_micro_dollar", "comment": null}, "ecpm_in_micro_dollar": {"type": "double precision", "index": 15, "name": "ecpm_in_micro_dollar", "comment": null}, "ectr": {"type": "double precision", "index": 16, "name": "ectr", "comment": null}, "engagement_1": {"type": "integer", "index": 17, "name": "engagement_1", "comment": null}, "impression_1": {"type": "integer", "index": 18, "name": "impression_1", "comment": null}, "impression_1_gross": {"type": "integer", "index": 19, "name": "impression_1_gross", "comment": null}, "outbound_click_1": {"type": "integer", "index": 20, "name": "outbound_click_1", "comment": null}, "paid_impression": {"type": "integer", "index": 21, "name": "paid_impression", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 22, "name": "spend_in_micro_dollar", "comment": null}, "total_engagement": {"type": "integer", "index": 23, "name": "total_engagement", "comment": null}, "total_impression_frequency": {"type": "double precision", "index": 24, "name": "total_impression_frequency", "comment": null}, "total_impression_user": {"type": "integer", "index": 25, "name": "total_impression_user", "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.pinterest_source.stg_pinterest_ads__campaign_report_tmp"}, "model.pinterest_source.stg_pinterest_ads__keyword_history": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__keyword_history", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"keyword_id": {"type": "bigint", "index": 1, "name": "keyword_id", "comment": null}, "keyword_value": {"type": "text", "index": 2, "name": "keyword_value", "comment": null}, "_fivetran_id": {"type": "text", "index": 3, "name": "_fivetran_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 4, "name": "_fivetran_synced", "comment": null}, "ad_group_id": {"type": "bigint", "index": 5, "name": "ad_group_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 6, "name": "advertiser_id", "comment": null}, "archived": {"type": "boolean", "index": 7, "name": "archived", "comment": null}, "bid": {"type": "integer", "index": 8, "name": "bid", "comment": null}, "campaign_id": {"type": "bigint", "index": 9, "name": "campaign_id", "comment": null}, "match_type": {"type": "text", "index": 10, "name": "match_type", "comment": null}, "parent_type": {"type": "text", "index": 11, "name": "parent_type", "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.pinterest_source.stg_pinterest_ads__keyword_history"}, "model.pinterest_source.stg_pinterest_ads__keyword_history_tmp": {"metadata": {"type": "VIEW", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__keyword_history_tmp", "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}, "ad_group_id": {"type": "bigint", "index": 3, "name": "ad_group_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 4, "name": "advertiser_id", "comment": null}, "archived": {"type": "boolean", "index": 5, "name": "archived", "comment": null}, "bid": {"type": "integer", "index": 6, "name": "bid", "comment": null}, "campaign_id": {"type": "bigint", "index": 7, "name": "campaign_id", "comment": null}, "id": {"type": "bigint", "index": 8, "name": "id", "comment": null}, "match_type": {"type": "text", "index": 9, "name": "match_type", "comment": null}, "parent_type": {"type": "text", "index": 10, "name": "parent_type", "comment": null}, "value": {"type": "text", "index": 11, "name": "value", "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.pinterest_source.stg_pinterest_ads__keyword_history_tmp"}, "model.pinterest_source.stg_pinterest_ads__keyword_report": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__keyword_report", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"date_day": {"type": "timestamp without time zone", "index": 1, "name": "date_day", "comment": null}, "keyword_id": {"type": "bigint", "index": 2, "name": "keyword_id", "comment": null}, "pin_promotion_id": {"type": "bigint", "index": 3, "name": "pin_promotion_id", "comment": null}, "ad_group_id": {"type": "bigint", "index": 4, "name": "ad_group_id", "comment": null}, "ad_group_name": {"type": "text", "index": 5, "name": "ad_group_name", "comment": null}, "ad_group_status": {"type": "text", "index": 6, "name": "ad_group_status", "comment": null}, "campaign_id": {"type": "bigint", "index": 7, "name": "campaign_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 8, "name": "advertiser_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 9, "name": "_fivetran_synced", "comment": null}, "impressions": {"type": "integer", "index": 10, "name": "impressions", "comment": null}, "clicks": {"type": "integer", "index": 11, "name": "clicks", "comment": null}, "spend": {"type": "numeric", "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.pinterest_source.stg_pinterest_ads__keyword_report"}, "model.pinterest_source.stg_pinterest_ads__keyword_report_tmp": {"metadata": {"type": "VIEW", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__keyword_report_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"ad_group_id": {"type": "bigint", "index": 1, "name": "ad_group_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 2, "name": "advertiser_id", "comment": null}, "campaign_id": {"type": "bigint", "index": 3, "name": "campaign_id", "comment": null}, "date": {"type": "timestamp without time zone", "index": 4, "name": "date", "comment": null}, "keyword_id": {"type": "bigint", "index": 5, "name": "keyword_id", "comment": null}, "pin_id": {"type": "bigint", "index": 6, "name": "pin_id", "comment": null}, "pin_promotion_id": {"type": "bigint", "index": 7, "name": "pin_promotion_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 8, "name": "_fivetran_synced", "comment": null}, "ad_group_name": {"type": "text", "index": 9, "name": "ad_group_name", "comment": null}, "ad_group_status": {"type": "text", "index": 10, "name": "ad_group_status", "comment": null}, "campaign_daily_spend_cap": {"type": "integer", "index": 11, "name": "campaign_daily_spend_cap", "comment": null}, "campaign_lifetime_spend_cap": {"type": "integer", "index": 12, "name": "campaign_lifetime_spend_cap", "comment": null}, "campaign_name": {"type": "text", "index": 13, "name": "campaign_name", "comment": null}, "campaign_status": {"type": "text", "index": 14, "name": "campaign_status", "comment": null}, "clickthrough_1": {"type": "integer", "index": 15, "name": "clickthrough_1", "comment": null}, "clickthrough_1_gross": {"type": "integer", "index": 16, "name": "clickthrough_1_gross", "comment": null}, "cpc_in_micro_dollar": {"type": "integer", "index": 17, "name": "cpc_in_micro_dollar", "comment": null}, "cpm_in_micro_dollar": {"type": "double precision", "index": 18, "name": "cpm_in_micro_dollar", "comment": null}, "ctr": {"type": "integer", "index": 19, "name": "ctr", "comment": null}, "ecpc_in_micro_dollar": {"type": "integer", "index": 20, "name": "ecpc_in_micro_dollar", "comment": null}, "ecpm_in_micro_dollar": {"type": "double precision", "index": 21, "name": "ecpm_in_micro_dollar", "comment": null}, "ectr": {"type": "integer", "index": 22, "name": "ectr", "comment": null}, "engagement_1": {"type": "integer", "index": 23, "name": "engagement_1", "comment": null}, "impression_1": {"type": "integer", "index": 24, "name": "impression_1", "comment": null}, "impression_1_gross": {"type": "integer", "index": 25, "name": "impression_1_gross", "comment": null}, "outbound_click_1": {"type": "integer", "index": 26, "name": "outbound_click_1", "comment": null}, "paid_impression": {"type": "integer", "index": 27, "name": "paid_impression", "comment": null}, "pin_promotion_name": {"type": "text", "index": 28, "name": "pin_promotion_name", "comment": null}, "pin_promotion_status": {"type": "text", "index": 29, "name": "pin_promotion_status", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 30, "name": "spend_in_micro_dollar", "comment": null}, "targeting_type": {"type": "text", "index": 31, "name": "targeting_type", "comment": null}, "targeting_value": {"type": "text", "index": 32, "name": "targeting_value", "comment": null}, "total_engagement": {"type": "integer", "index": 33, "name": "total_engagement", "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.pinterest_source.stg_pinterest_ads__keyword_report_tmp"}, "model.pinterest_source.stg_pinterest_ads__pin_promotion_history": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__pin_promotion_history", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"pin_promotion_id": {"type": "bigint", "index": 1, "name": "pin_promotion_id", "comment": null}, "ad_group_id": {"type": "bigint", "index": 2, "name": "ad_group_id", "comment": null}, "created_at": {"type": "text", "index": 3, "name": "created_at", "comment": null}, "destination_url": {"type": "text", "index": 4, "name": "destination_url", "comment": null}, "base_url": {"type": "text", "index": 5, "name": "base_url", "comment": null}, "url_host": {"type": "character varying", "index": 6, "name": "url_host", "comment": null}, "url_path": {"type": "text", "index": 7, "name": "url_path", "comment": null}, "utm_source": {"type": "text", "index": 8, "name": "utm_source", "comment": null}, "utm_medium": {"type": "text", "index": 9, "name": "utm_medium", "comment": null}, "utm_campaign": {"type": "text", "index": 10, "name": "utm_campaign", "comment": null}, "utm_content": {"type": "text", "index": 11, "name": "utm_content", "comment": null}, "utm_term": {"type": "text", "index": 12, "name": "utm_term", "comment": null}, "name": {"type": "text", "index": 13, "name": "name", "comment": null}, "pin_id": {"type": "bigint", "index": 14, "name": "pin_id", "comment": null}, "status": {"type": "text", "index": 15, "name": "status", "comment": null}, "creative_type": {"type": "text", "index": 16, "name": "creative_type", "comment": null}, "_fivetran_synced": {"type": "text", "index": 17, "name": "_fivetran_synced", "comment": null}, "is_most_recent_record": {"type": "boolean", "index": 18, "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.pinterest_source.stg_pinterest_ads__pin_promotion_history"}, "model.pinterest_source.stg_pinterest_ads__pin_promotion_history_tmp": {"metadata": {"type": "VIEW", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__pin_promotion_history_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "ad_group_id": {"type": "bigint", "index": 2, "name": "ad_group_id", "comment": null}, "created_time": {"type": "text", "index": 3, "name": "created_time", "comment": null}, "destination_url": {"type": "text", "index": 4, "name": "destination_url", "comment": null}, "name": {"type": "text", "index": 5, "name": "name", "comment": null}, "pin_id": {"type": "bigint", "index": 6, "name": "pin_id", "comment": null}, "status": {"type": "text", "index": 7, "name": "status", "comment": null}, "creative_type": {"type": "text", "index": 8, "name": "creative_type", "comment": null}, "_fivetran_synced": {"type": "text", "index": 9, "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.pinterest_source.stg_pinterest_ads__pin_promotion_history_tmp"}, "model.pinterest_source.stg_pinterest_ads__pin_promotion_report": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__pin_promotion_report", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"date_day": {"type": "text", "index": 1, "name": "date_day", "comment": null}, "pin_promotion_id": {"type": "bigint", "index": 2, "name": "pin_promotion_id", "comment": null}, "ad_group_id": {"type": "bigint", "index": 3, "name": "ad_group_id", "comment": null}, "campaign_id": {"type": "bigint", "index": 4, "name": "campaign_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 5, "name": "advertiser_id", "comment": null}, "_fivetran_synced": {"type": "text", "index": 6, "name": "_fivetran_synced", "comment": null}, "impressions": {"type": "integer", "index": 7, "name": "impressions", "comment": null}, "clicks": {"type": "integer", "index": 8, "name": "clicks", "comment": null}, "spend": {"type": "numeric", "index": 9, "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.pinterest_source.stg_pinterest_ads__pin_promotion_report"}, "model.pinterest_source.stg_pinterest_ads__pin_promotion_report_tmp": {"metadata": {"type": "VIEW", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__pin_promotion_report_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"date": {"type": "text", "index": 1, "name": "date", "comment": null}, "pin_promotion_id": {"type": "bigint", "index": 2, "name": "pin_promotion_id", "comment": null}, "ad_group_id": {"type": "bigint", "index": 3, "name": "ad_group_id", "comment": null}, "campaign_id": {"type": "bigint", "index": 4, "name": "campaign_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 5, "name": "advertiser_id", "comment": null}, "_fivetran_synced": {"type": "text", "index": 6, "name": "_fivetran_synced", "comment": null}, "impression_1": {"type": "integer", "index": 7, "name": "impression_1", "comment": null}, "impression_2": {"type": "integer", "index": 8, "name": "impression_2", "comment": null}, "clickthrough_1": {"type": "integer", "index": 9, "name": "clickthrough_1", "comment": null}, "clickthrough_2": {"type": "integer", "index": 10, "name": "clickthrough_2", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 11, "name": "spend_in_micro_dollar", "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.pinterest_source.stg_pinterest_ads__pin_promotion_report_tmp"}}, "sources": {"source.pinterest_source.pinterest_ads.ad_group_history": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "ad_group_history_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "campaign_id": {"type": "bigint", "index": 2, "name": "campaign_id", "comment": null}, "created_time": {"type": "text", "index": 3, "name": "created_time", "comment": null}, "name": {"type": "text", "index": 4, "name": "name", "comment": null}, "status": {"type": "text", "index": 5, "name": "status", "comment": null}, "start_time": {"type": "text", "index": 6, "name": "start_time", "comment": null}, "end_time": {"type": "integer", "index": 7, "name": "end_time", "comment": null}, "_fivetran_synced": {"type": "text", "index": 8, "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.pinterest_source.pinterest_ads.ad_group_history"}, "source.pinterest_source.pinterest_ads.ad_group_report": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "ad_group_report_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"ad_group_id": {"type": "bigint", "index": 1, "name": "ad_group_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 2, "name": "advertiser_id", "comment": null}, "date": {"type": "timestamp without time zone", "index": 3, "name": "date", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 4, "name": "_fivetran_synced", "comment": null}, "ad_group_name": {"type": "text", "index": 5, "name": "ad_group_name", "comment": null}, "ad_group_status": {"type": "text", "index": 6, "name": "ad_group_status", "comment": null}, "campaign_daily_spend_cap": {"type": "integer", "index": 7, "name": "campaign_daily_spend_cap", "comment": null}, "campaign_id": {"type": "bigint", "index": 8, "name": "campaign_id", "comment": null}, "campaign_lifetime_spend_cap": {"type": "integer", "index": 9, "name": "campaign_lifetime_spend_cap", "comment": null}, "campaign_name": {"type": "text", "index": 10, "name": "campaign_name", "comment": null}, "campaign_status": {"type": "text", "index": 11, "name": "campaign_status", "comment": null}, "clickthrough_1": {"type": "integer", "index": 12, "name": "clickthrough_1", "comment": null}, "clickthrough_1_gross": {"type": "integer", "index": 13, "name": "clickthrough_1_gross", "comment": null}, "cpc_in_micro_dollar": {"type": "double precision", "index": 14, "name": "cpc_in_micro_dollar", "comment": null}, "cpm_in_micro_dollar": {"type": "double precision", "index": 15, "name": "cpm_in_micro_dollar", "comment": null}, "ctr": {"type": "double precision", "index": 16, "name": "ctr", "comment": null}, "ecpc_in_micro_dollar": {"type": "double precision", "index": 17, "name": "ecpc_in_micro_dollar", "comment": null}, "ecpm_in_micro_dollar": {"type": "double precision", "index": 18, "name": "ecpm_in_micro_dollar", "comment": null}, "ectr": {"type": "double precision", "index": 19, "name": "ectr", "comment": null}, "engagement_1": {"type": "integer", "index": 20, "name": "engagement_1", "comment": null}, "impression_1": {"type": "integer", "index": 21, "name": "impression_1", "comment": null}, "impression_1_gross": {"type": "integer", "index": 22, "name": "impression_1_gross", "comment": null}, "outbound_click_1": {"type": "integer", "index": 23, "name": "outbound_click_1", "comment": null}, "paid_impression": {"type": "integer", "index": 24, "name": "paid_impression", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 25, "name": "spend_in_micro_dollar", "comment": null}, "total_engagement": {"type": "integer", "index": 26, "name": "total_engagement", "comment": null}, "total_impression_frequency": {"type": "double precision", "index": 27, "name": "total_impression_frequency", "comment": null}, "total_impression_user": {"type": "integer", "index": 28, "name": "total_impression_user", "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.pinterest_source.pinterest_ads.ad_group_report"}, "source.pinterest_source.pinterest_ads.advertiser_history": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "advertiser_history_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "updated_time": {"type": "timestamp without time zone", "index": 2, "name": "updated_time", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "billing_profile_status": {"type": "text", "index": 4, "name": "billing_profile_status", "comment": null}, "billing_type": {"type": "text", "index": 5, "name": "billing_type", "comment": null}, "country": {"type": "text", "index": 6, "name": "country", "comment": null}, "created_time": {"type": "timestamp without time zone", "index": 7, "name": "created_time", "comment": null}, "currency": {"type": "text", "index": 8, "name": "currency", "comment": null}, "merchant_id": {"type": "integer", "index": 9, "name": "merchant_id", "comment": null}, "name": {"type": "text", "index": 10, "name": "name", "comment": null}, "owner_user_id": {"type": "integer", "index": 11, "name": "owner_user_id", "comment": null}, "status": {"type": "text", "index": 12, "name": "status", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.pinterest_source.pinterest_ads.advertiser_history"}, "source.pinterest_source.pinterest_ads.advertiser_report": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "advertiser_report_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"advertiser_id": {"type": "bigint", "index": 1, "name": "advertiser_id", "comment": null}, "date": {"type": "timestamp without time zone", "index": 2, "name": "date", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "clickthrough_1": {"type": "integer", "index": 4, "name": "clickthrough_1", "comment": null}, "clickthrough_1_gross": {"type": "integer", "index": 5, "name": "clickthrough_1_gross", "comment": null}, "cpc_in_micro_dollar": {"type": "double precision", "index": 6, "name": "cpc_in_micro_dollar", "comment": null}, "cpm_in_micro_dollar": {"type": "double precision", "index": 7, "name": "cpm_in_micro_dollar", "comment": null}, "ctr": {"type": "double precision", "index": 8, "name": "ctr", "comment": null}, "ecpc_in_micro_dollar": {"type": "double precision", "index": 9, "name": "ecpc_in_micro_dollar", "comment": null}, "ecpm_in_micro_dollar": {"type": "double precision", "index": 10, "name": "ecpm_in_micro_dollar", "comment": null}, "ectr": {"type": "double precision", "index": 11, "name": "ectr", "comment": null}, "engagement_1": {"type": "integer", "index": 12, "name": "engagement_1", "comment": null}, "impression_1": {"type": "integer", "index": 13, "name": "impression_1", "comment": null}, "impression_1_gross": {"type": "integer", "index": 14, "name": "impression_1_gross", "comment": null}, "outbound_click_1": {"type": "integer", "index": 15, "name": "outbound_click_1", "comment": null}, "paid_impression": {"type": "integer", "index": 16, "name": "paid_impression", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 17, "name": "spend_in_micro_dollar", "comment": null}, "total_engagement": {"type": "integer", "index": 18, "name": "total_engagement", "comment": null}, "total_impression_frequency": {"type": "double precision", "index": 19, "name": "total_impression_frequency", "comment": null}, "total_impression_user": {"type": "integer", "index": 20, "name": "total_impression_user", "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.pinterest_source.pinterest_ads.advertiser_report"}, "source.pinterest_source.pinterest_ads.campaign_history": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "campaign_history_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "created_time": {"type": "text", "index": 2, "name": "created_time", "comment": null}, "name": {"type": "text", "index": 3, "name": "name", "comment": null}, "status": {"type": "text", "index": 4, "name": "status", "comment": null}, "_fivetran_synced": {"type": "text", "index": 5, "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.pinterest_source.pinterest_ads.campaign_history"}, "source.pinterest_source.pinterest_ads.campaign_report": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "campaign_report_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"advertiser_id": {"type": "bigint", "index": 1, "name": "advertiser_id", "comment": null}, "campaign_id": {"type": "bigint", "index": 2, "name": "campaign_id", "comment": null}, "date": {"type": "timestamp without time zone", "index": 3, "name": "date", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 4, "name": "_fivetran_synced", "comment": null}, "campaign_daily_spend_cap": {"type": "integer", "index": 5, "name": "campaign_daily_spend_cap", "comment": null}, "campaign_lifetime_spend_cap": {"type": "integer", "index": 6, "name": "campaign_lifetime_spend_cap", "comment": null}, "campaign_name": {"type": "text", "index": 7, "name": "campaign_name", "comment": null}, "campaign_status": {"type": "text", "index": 8, "name": "campaign_status", "comment": null}, "clickthrough_1": {"type": "integer", "index": 9, "name": "clickthrough_1", "comment": null}, "clickthrough_1_gross": {"type": "integer", "index": 10, "name": "clickthrough_1_gross", "comment": null}, "cpc_in_micro_dollar": {"type": "double precision", "index": 11, "name": "cpc_in_micro_dollar", "comment": null}, "cpm_in_micro_dollar": {"type": "double precision", "index": 12, "name": "cpm_in_micro_dollar", "comment": null}, "ctr": {"type": "double precision", "index": 13, "name": "ctr", "comment": null}, "ecpc_in_micro_dollar": {"type": "double precision", "index": 14, "name": "ecpc_in_micro_dollar", "comment": null}, "ecpm_in_micro_dollar": {"type": "double precision", "index": 15, "name": "ecpm_in_micro_dollar", "comment": null}, "ectr": {"type": "double precision", "index": 16, "name": "ectr", "comment": null}, "engagement_1": {"type": "integer", "index": 17, "name": "engagement_1", "comment": null}, "impression_1": {"type": "integer", "index": 18, "name": "impression_1", "comment": null}, "impression_1_gross": {"type": "integer", "index": 19, "name": "impression_1_gross", "comment": null}, "outbound_click_1": {"type": "integer", "index": 20, "name": "outbound_click_1", "comment": null}, "paid_impression": {"type": "integer", "index": 21, "name": "paid_impression", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 22, "name": "spend_in_micro_dollar", "comment": null}, "total_engagement": {"type": "integer", "index": 23, "name": "total_engagement", "comment": null}, "total_impression_frequency": {"type": "double precision", "index": 24, "name": "total_impression_frequency", "comment": null}, "total_impression_user": {"type": "integer", "index": 25, "name": "total_impression_user", "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.pinterest_source.pinterest_ads.campaign_report"}, "source.pinterest_source.pinterest_ads.keyword_history": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "keyword_history_data", "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}, "ad_group_id": {"type": "bigint", "index": 3, "name": "ad_group_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 4, "name": "advertiser_id", "comment": null}, "archived": {"type": "boolean", "index": 5, "name": "archived", "comment": null}, "bid": {"type": "integer", "index": 6, "name": "bid", "comment": null}, "campaign_id": {"type": "bigint", "index": 7, "name": "campaign_id", "comment": null}, "id": {"type": "bigint", "index": 8, "name": "id", "comment": null}, "match_type": {"type": "text", "index": 9, "name": "match_type", "comment": null}, "parent_type": {"type": "text", "index": 10, "name": "parent_type", "comment": null}, "value": {"type": "text", "index": 11, "name": "value", "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.pinterest_source.pinterest_ads.keyword_history"}, "source.pinterest_source.pinterest_ads.keyword_report": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "keyword_report_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"ad_group_id": {"type": "bigint", "index": 1, "name": "ad_group_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 2, "name": "advertiser_id", "comment": null}, "campaign_id": {"type": "bigint", "index": 3, "name": "campaign_id", "comment": null}, "date": {"type": "timestamp without time zone", "index": 4, "name": "date", "comment": null}, "keyword_id": {"type": "bigint", "index": 5, "name": "keyword_id", "comment": null}, "pin_id": {"type": "bigint", "index": 6, "name": "pin_id", "comment": null}, "pin_promotion_id": {"type": "bigint", "index": 7, "name": "pin_promotion_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 8, "name": "_fivetran_synced", "comment": null}, "ad_group_name": {"type": "text", "index": 9, "name": "ad_group_name", "comment": null}, "ad_group_status": {"type": "text", "index": 10, "name": "ad_group_status", "comment": null}, "campaign_daily_spend_cap": {"type": "integer", "index": 11, "name": "campaign_daily_spend_cap", "comment": null}, "campaign_lifetime_spend_cap": {"type": "integer", "index": 12, "name": "campaign_lifetime_spend_cap", "comment": null}, "campaign_name": {"type": "text", "index": 13, "name": "campaign_name", "comment": null}, "campaign_status": {"type": "text", "index": 14, "name": "campaign_status", "comment": null}, "clickthrough_1": {"type": "integer", "index": 15, "name": "clickthrough_1", "comment": null}, "clickthrough_1_gross": {"type": "integer", "index": 16, "name": "clickthrough_1_gross", "comment": null}, "cpc_in_micro_dollar": {"type": "integer", "index": 17, "name": "cpc_in_micro_dollar", "comment": null}, "cpm_in_micro_dollar": {"type": "double precision", "index": 18, "name": "cpm_in_micro_dollar", "comment": null}, "ctr": {"type": "integer", "index": 19, "name": "ctr", "comment": null}, "ecpc_in_micro_dollar": {"type": "integer", "index": 20, "name": "ecpc_in_micro_dollar", "comment": null}, "ecpm_in_micro_dollar": {"type": "double precision", "index": 21, "name": "ecpm_in_micro_dollar", "comment": null}, "ectr": {"type": "integer", "index": 22, "name": "ectr", "comment": null}, "engagement_1": {"type": "integer", "index": 23, "name": "engagement_1", "comment": null}, "impression_1": {"type": "integer", "index": 24, "name": "impression_1", "comment": null}, "impression_1_gross": {"type": "integer", "index": 25, "name": "impression_1_gross", "comment": null}, "outbound_click_1": {"type": "integer", "index": 26, "name": "outbound_click_1", "comment": null}, "paid_impression": {"type": "integer", "index": 27, "name": "paid_impression", "comment": null}, "pin_promotion_name": {"type": "text", "index": 28, "name": "pin_promotion_name", "comment": null}, "pin_promotion_status": {"type": "text", "index": 29, "name": "pin_promotion_status", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 30, "name": "spend_in_micro_dollar", "comment": null}, "targeting_type": {"type": "text", "index": 31, "name": "targeting_type", "comment": null}, "targeting_value": {"type": "text", "index": 32, "name": "targeting_value", "comment": null}, "total_engagement": {"type": "integer", "index": 33, "name": "total_engagement", "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.pinterest_source.pinterest_ads.keyword_report"}, "source.pinterest_source.pinterest_ads.pin_promotion_history": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "pin_promotion_history_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "ad_group_id": {"type": "bigint", "index": 2, "name": "ad_group_id", "comment": null}, "created_time": {"type": "text", "index": 3, "name": "created_time", "comment": null}, "destination_url": {"type": "text", "index": 4, "name": "destination_url", "comment": null}, "name": {"type": "text", "index": 5, "name": "name", "comment": null}, "pin_id": {"type": "bigint", "index": 6, "name": "pin_id", "comment": null}, "status": {"type": "text", "index": 7, "name": "status", "comment": null}, "creative_type": {"type": "text", "index": 8, "name": "creative_type", "comment": null}, "_fivetran_synced": {"type": "text", "index": 9, "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.pinterest_source.pinterest_ads.pin_promotion_history"}, "source.pinterest_source.pinterest_ads.pin_promotion_report": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "pin_promotion_report_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"date": {"type": "text", "index": 1, "name": "date", "comment": null}, "pin_promotion_id": {"type": "bigint", "index": 2, "name": "pin_promotion_id", "comment": null}, "ad_group_id": {"type": "bigint", "index": 3, "name": "ad_group_id", "comment": null}, "campaign_id": {"type": "bigint", "index": 4, "name": "campaign_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 5, "name": "advertiser_id", "comment": null}, "_fivetran_synced": {"type": "text", "index": 6, "name": "_fivetran_synced", "comment": null}, "impression_1": {"type": "integer", "index": 7, "name": "impression_1", "comment": null}, "impression_2": {"type": "integer", "index": 8, "name": "impression_2", "comment": null}, "clickthrough_1": {"type": "integer", "index": 9, "name": "clickthrough_1", "comment": null}, "clickthrough_2": {"type": "integer", "index": 10, "name": "clickthrough_2", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 11, "name": "spend_in_micro_dollar", "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.pinterest_source.pinterest_ads.pin_promotion_report"}}, "errors": null} \ No newline at end of file diff --git a/docs/index.html b/docs/index.html index 360349a..0c4d0ec 100644 --- a/docs/index.html +++ b/docs/index.html @@ -8,7 +8,7 @@ - + @@ -16,17 +16,17 @@ - + - +
icons
- diff --git a/docs/manifest.json b/docs/manifest.json index 66bf797..4824916 100644 --- a/docs/manifest.json +++ b/docs/manifest.json @@ -1 +1 @@ -{"metadata": {"dbt_schema_version": "https://schemas.getdbt.com/dbt/manifest/v1.json", "dbt_version": "0.19.0", "generated_at": "2021-03-23T14:42:41.168148Z", "invocation_id": "95bbbe14-eed1-471c-acdd-42e8fb555144", "env": {}, "project_id": "0c5e93f26aaf82565f2c06106a3cb878", "user_id": "57178664-37b2-4047-9572-68ec8b488cd7", "send_anonymous_usage_stats": true, "adapter_type": "bigquery"}, "nodes": {"seed.pinterest_source_integration_tests.pin_promotion_history_data": {"raw_sql": "", "compiled": true, "database": "dbt-package-testing", "schema": "pinterest_source_integration_tests", "fqn": ["pinterest_source_integration_tests", "pin_promotion_history_data"], "unique_id": "seed.pinterest_source_integration_tests.pin_promotion_history_data", "package_name": "pinterest_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests", "path": "pin_promotion_history_data.csv", "original_file_path": "data/pin_promotion_history_data.csv", "name": "pin_promotion_history_data", "resource_type": "seed", "alias": "pin_promotion_history_data", "checksum": {"name": "sha256", "checksum": "37de0d0609bd65a28c7f45640cc18fe6dde35a286ac2fc60b3c28e0ffafda7a2"}, "config": {"enabled": true, "materialized": "seed", "persist_docs": {}, "post-hook": [], "pre-hook": [], "vars": {}, "quoting": {}, "column_types": {"ID": "int64", "AD_GROUP_ID": "int64", "PIN_ID": "int64"}, "alias": null, "schema": null, "database": null, "tags": [], "full_refresh": null, "quote_columns": false}, "tags": [], "refs": [], "sources": [], "depends_on": {"macros": [], "nodes": []}, "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type == 'redshift' else false }}", "column_types": {"ID": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "AD_GROUP_ID": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "PIN_ID": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}"}}, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`pinterest_source_integration_tests`.`pin_promotion_history_data`"}, "seed.pinterest_source_integration_tests.ad_group_history_data": {"raw_sql": "", "compiled": true, "database": "dbt-package-testing", "schema": "pinterest_source_integration_tests", "fqn": ["pinterest_source_integration_tests", "ad_group_history_data"], "unique_id": "seed.pinterest_source_integration_tests.ad_group_history_data", "package_name": "pinterest_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests", "path": "ad_group_history_data.csv", "original_file_path": "data/ad_group_history_data.csv", "name": "ad_group_history_data", "resource_type": "seed", "alias": "ad_group_history_data", "checksum": {"name": "sha256", "checksum": "959034aedcbecb0831a6a3312521dabfb2276bfe22d3863eed491f85d8723ffb"}, "config": {"enabled": true, "materialized": "seed", "persist_docs": {}, "post-hook": [], "pre-hook": [], "vars": {}, "quoting": {}, "column_types": {"ID": "int64", "CAMPAIGN_ID": "int64"}, "alias": null, "schema": null, "database": null, "tags": [], "full_refresh": null, "quote_columns": false}, "tags": [], "refs": [], "sources": [], "depends_on": {"macros": [], "nodes": []}, "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type == 'redshift' else false }}", "column_types": {"ID": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "CAMPAIGN_ID": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}"}}, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`pinterest_source_integration_tests`.`ad_group_history_data`"}, "seed.pinterest_source_integration_tests.campaign_history_data": {"raw_sql": "", "compiled": true, "database": "dbt-package-testing", "schema": "pinterest_source_integration_tests", "fqn": ["pinterest_source_integration_tests", "campaign_history_data"], "unique_id": "seed.pinterest_source_integration_tests.campaign_history_data", "package_name": "pinterest_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests", "path": "campaign_history_data.csv", "original_file_path": "data/campaign_history_data.csv", "name": "campaign_history_data", "resource_type": "seed", "alias": "campaign_history_data", "checksum": {"name": "sha256", "checksum": "cb8208b550cc10d01284cfb02f66f7cb73b421c12faefa754cd024af2f2ce0ff"}, "config": {"enabled": true, "materialized": "seed", "persist_docs": {}, "post-hook": [], "pre-hook": [], "vars": {}, "quoting": {}, "column_types": {"ID": "int64"}, "alias": null, "schema": null, "database": null, "tags": [], "full_refresh": null, "quote_columns": false}, "tags": [], "refs": [], "sources": [], "depends_on": {"macros": [], "nodes": []}, "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type == 'redshift' else false }}", "column_types": {"ID": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}"}}, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`pinterest_source_integration_tests`.`campaign_history_data`"}, "seed.pinterest_source_integration_tests.pin_promotion_report_data": {"raw_sql": "", "compiled": true, "database": "dbt-package-testing", "schema": "pinterest_source_integration_tests", "fqn": ["pinterest_source_integration_tests", "pin_promotion_report_data"], "unique_id": "seed.pinterest_source_integration_tests.pin_promotion_report_data", "package_name": "pinterest_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests", "path": "pin_promotion_report_data.csv", "original_file_path": "data/pin_promotion_report_data.csv", "name": "pin_promotion_report_data", "resource_type": "seed", "alias": "pin_promotion_report_data", "checksum": {"name": "sha256", "checksum": "3fbf086b21e8ae60cc3c57d2a661234c1973cdd018cb8390f029da040e78050f"}, "config": {"enabled": true, "materialized": "seed", "persist_docs": {}, "post-hook": [], "pre-hook": [], "vars": {}, "quoting": {}, "column_types": {"PIN_PROMOTION_ID": "int64", "AD_GROUP_ID": "int64", "CAMPAIGN_ID": "int64", "ADVERTISER_ID": "int64"}, "alias": null, "schema": null, "database": null, "tags": [], "full_refresh": null, "quote_columns": false}, "tags": [], "refs": [], "sources": [], "depends_on": {"macros": [], "nodes": []}, "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type == 'redshift' else false }}", "column_types": {"PIN_PROMOTION_ID": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "AD_GROUP_ID": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "CAMPAIGN_ID": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "ADVERTISER_ID": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}"}}, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`pinterest_source_integration_tests`.`pin_promotion_report_data`"}, "model.pinterest_source.stg_pinterest_ads__pin_promotion_history": {"raw_sql": "with base as (\n\n select *\n from {{ ref('stg_pinterest_ads__pin_promotion_history_tmp') }}\n\n), macro as (\n\n select\n\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_pinterest_ads__pin_promotion_history_tmp')),\n staging_columns=get_pin_promotion_history_columns()\n )\n }}\n\n from base\n\n), fields as (\n\n select\n id as pin_promotion_id,\n ad_group_id,\n created_time as created_timestamp,\n destination_url,\n {{ dbt_utils.split_part('destination_url', \"'?'\", 1) }} as base_url,\n {{ dbt_utils.get_url_host('destination_url') }} as url_host,\n '/' || {{ dbt_utils.get_url_path('destination_url') }} as url_path,\n {{ dbt_utils.get_url_parameter('destination_url', 'utm_source') }} as utm_source,\n {{ dbt_utils.get_url_parameter('destination_url', 'utm_medium') }} as utm_medium,\n {{ dbt_utils.get_url_parameter('destination_url', 'utm_campaign') }} as utm_campaign,\n {{ dbt_utils.get_url_parameter('destination_url', 'utm_content') }} as utm_content,\n {{ dbt_utils.get_url_parameter('destination_url', 'utm_term') }} as utm_term,\n name,\n pin_id,\n status,\n creative_type,\n _fivetran_synced\n from macro\n\n), surrogate_key as (\n\n select \n *,\n {{ dbt_utils.surrogate_key(['pin_promotion_id','_fivetran_synced'] )}} as version_id\n from fields\n\n)\n\nselect *\nfrom surrogate_key", "compiled": true, "database": "dbt-package-testing", "schema": "pinterest_source_integration_tests_stg_pinterest", "fqn": ["pinterest_source", "stg_pinterest_ads__pin_promotion_history"], "unique_id": "model.pinterest_source.stg_pinterest_ads__pin_promotion_history", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/pinterest_source", "path": "stg_pinterest_ads__pin_promotion_history.sql", "original_file_path": "models/stg_pinterest_ads__pin_promotion_history.sql", "name": "stg_pinterest_ads__pin_promotion_history", "resource_type": "model", "alias": "stg_pinterest_ads__pin_promotion_history", "checksum": {"name": "sha256", "checksum": "f8ec0f2068f6f46e9de886d61835b934a12362e55ab69f6dc9cb346674944d4c"}, "config": {"enabled": true, "materialized": "table", "persist_docs": {}, "post-hook": [], "pre-hook": [], "vars": {}, "quoting": {}, "column_types": {}, "alias": null, "schema": "stg_pinterest", "database": null, "tags": [], "full_refresh": null}, "tags": [], "refs": [["stg_pinterest_ads__pin_promotion_history_tmp"], ["stg_pinterest_ads__pin_promotion_history_tmp"]], "sources": [], "depends_on": {"macros": ["macro.pinterest_source.get_pin_promotion_history_columns", "macro.fivetran_utils.fill_staging_columns", "macro.dbt_utils.split_part", "macro.dbt_utils.get_url_host", "macro.dbt_utils.get_url_path", "macro.dbt_utils.get_url_parameter", "macro.dbt_utils.surrogate_key"], "nodes": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_history_tmp", "model.pinterest_source.stg_pinterest_ads__pin_promotion_history_tmp"]}, "description": "Each record represents a version of a Pinterest Pin promotion.", "columns": {"pin_promotion_id": {"name": "pin_promotion_id", "description": "Pin promotion ID.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_id": {"name": "ad_group_id", "description": "Pin promotion ad group ID.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "created_timestamp": {"name": "created_timestamp", "description": "Pin creation time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "destination_url": {"name": "destination_url", "description": "Pin destination URL.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Pin promotion name.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "pin_id": {"name": "pin_id", "description": "Original pin ID.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status": {"name": "status", "description": "The status of the Pin promotion. One of \"ACTIVE\", \"ARCHIVED\", \"PAUSED\"", "meta": {}, "data_type": null, "quote": null, "tags": []}, "creative_type": {"name": "creative_type", "description": "The creative type. \nOne of \"APP\", \"APP_VIDEO\", \"BOARD\", \"CAROUSEL\", \"CINEMATIC\", \"COMMERCE\", \"MAX_VIDEO\", \"NATIVE_VIDEO\", \"REGULAR\", \n\"SEARCH_PROMINENCE\", \"SEARCH_PROMINENCE_CAROUSEL\", \"SHOPPING\", \"SHOP_THE_PIN\", \"THIRD_PARTY\", or \"VIDEO\".\n", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "The time Fivetran synced a record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "version_id": {"name": "version_id", "description": "Unique ID for the version of a Pin promotion.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "base_url": {"name": "base_url", "description": "The base URL of the ad, extracted from the `destination_url`.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "url_host": {"name": "url_host", "description": "The URL host of the ad, extracted from the `destination_url`.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "url_path": {"name": "url_path", "description": "The URL path of the ad, extracted from the `destination_url`.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "utm_source": {"name": "utm_source", "description": "The utm_source parameter of the ad, extracted from the `destination_url`.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "utm_medium": {"name": "utm_medium", "description": "The utm_medium parameter of the ad, extracted from the `destination_url`.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "utm_campaign": {"name": "utm_campaign", "description": "The utm_campaign parameter of the ad, extracted from the `destination_url`.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "utm_content": {"name": "utm_content", "description": "The utm_content parameter of the ad, extracted from the `destination_url`.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "utm_term": {"name": "utm_term", "description": "The utm_term parameter of the ad, extracted from the `destination_url`.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "models/stg_pinterest_ads.yml", "build_path": "target/compiled/pinterest_source/models/stg_pinterest_ads__pin_promotion_history.sql", "deferred": false, "unrendered_config": {"schema": "stg_pinterest", "materialized": "table"}, "compiled_sql": "with base as (\n\n select *\n from `dbt-package-testing`.`pinterest_source_integration_tests_stg_pinterest`.`stg_pinterest_ads__pin_promotion_history_tmp`\n\n), macro as (\n\n select\n\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n ad_group_id\n \n as \n \n ad_group_id\n \n, \n cast(null as \n string\n) as \n \n android_deep_link\n \n , \n cast(null as \n string\n) as \n \n click_tracking_url\n \n , \n \n \n created_time\n \n as \n \n created_time\n \n, \n \n \n creative_type\n \n as \n \n creative_type\n \n, \n \n \n destination_url\n \n as \n \n destination_url\n \n, \n \n \n id\n \n as \n \n id\n \n, \n cast(null as \n string\n) as \n \n ios_deep_link\n \n , \n cast(null as boolean) as \n \n is_pin_deleted\n \n , \n cast(null as boolean) as \n \n is_removable\n \n , \n \n \n name\n \n as \n \n name\n \n, \n \n \n pin_id\n \n as \n \n pin_id\n \n, \n cast(null as \n string\n) as \n \n review_status\n \n , \n \n \n status\n \n as \n \n status\n \n, \n cast(null as \n timestamp\n) as \n \n updated_time\n \n , \n cast(null as \n string\n) as \n \n view_tracking_url\n \n \n\n\n\n from base\n\n), fields as (\n\n select\n id as pin_promotion_id,\n ad_group_id,\n created_time as created_timestamp,\n destination_url,\n \n\n split(\n destination_url,\n '?'\n )[safe_offset(0)]\n\n as base_url,\n \n safe_cast(\n\n split(\n \n\n split(\n \n\n replace(\n \n\n replace(\n destination_url,\n 'http://',\n ''\n )\n \n\n,\n 'https://',\n ''\n )\n \n\n,\n '/'\n )[safe_offset(0)]\n\n,\n '?'\n )[safe_offset(0)]\n\n as \n string\n)\n as url_host,\n '/' || \n safe_cast(\n\n split(\n \n\n case when \n \n length(\n \n\n replace(\n \n\n replace(\n destination_url,\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 destination_url,\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 destination_url,\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 destination_url,\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 destination_url,\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 destination_url,\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 destination_url,\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 as \n string\n)\n as url_path,\n nullif(\n\n split(\n \n\n split(\n destination_url,\n 'utm_source='\n )[safe_offset(1)]\n\n,\n '&'\n )[safe_offset(0)]\n\n,'') as utm_source,\n nullif(\n\n split(\n \n\n split(\n destination_url,\n 'utm_medium='\n )[safe_offset(1)]\n\n,\n '&'\n )[safe_offset(0)]\n\n,'') as utm_medium,\n nullif(\n\n split(\n \n\n split(\n destination_url,\n 'utm_campaign='\n )[safe_offset(1)]\n\n,\n '&'\n )[safe_offset(0)]\n\n,'') as utm_campaign,\n nullif(\n\n split(\n \n\n split(\n destination_url,\n 'utm_content='\n )[safe_offset(1)]\n\n,\n '&'\n )[safe_offset(0)]\n\n,'') as utm_content,\n nullif(\n\n split(\n \n\n split(\n destination_url,\n 'utm_term='\n )[safe_offset(1)]\n\n,\n '&'\n )[safe_offset(0)]\n\n,'') as utm_term,\n name,\n pin_id,\n status,\n creative_type,\n _fivetran_synced\n from macro\n\n), surrogate_key as (\n\n select \n *,\n to_hex(md5(cast(concat(coalesce(cast(pin_promotion_id as \n string\n), ''), '-', coalesce(cast(_fivetran_synced as \n string\n), '')) as \n string\n))) as version_id\n from fields\n\n)\n\nselect *\nfrom surrogate_key", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`pinterest_source_integration_tests_stg_pinterest`.`stg_pinterest_ads__pin_promotion_history`"}, "model.pinterest_source.stg_pinterest_ads__campaign_history": {"raw_sql": "with base as (\n\n select *\n from {{ ref('stg_pinterest_ads__campaign_history_tmp') }}\n\n), fields as (\n\n select\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_pinterest_ads__campaign_history_tmp')),\n staging_columns=get_campaign_history_columns()\n )\n }}\n from base\n\n), surrogate_key as (\n\n select \n *,\n {{ dbt_utils.surrogate_key(['campaign_id','_fivetran_synced'] )}} as version_id\n from fields\n\n)\n\nselect *\nfrom surrogate_key", "compiled": true, "database": "dbt-package-testing", "schema": "pinterest_source_integration_tests_stg_pinterest", "fqn": ["pinterest_source", "stg_pinterest_ads__campaign_history"], "unique_id": "model.pinterest_source.stg_pinterest_ads__campaign_history", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/pinterest_source", "path": "stg_pinterest_ads__campaign_history.sql", "original_file_path": "models/stg_pinterest_ads__campaign_history.sql", "name": "stg_pinterest_ads__campaign_history", "resource_type": "model", "alias": "stg_pinterest_ads__campaign_history", "checksum": {"name": "sha256", "checksum": "ef4b3a80dc6e9826455ce0c9597553afbc1d0d4b6721f546b392579403020da2"}, "config": {"enabled": true, "materialized": "table", "persist_docs": {}, "post-hook": [], "pre-hook": [], "vars": {}, "quoting": {}, "column_types": {}, "alias": null, "schema": "stg_pinterest", "database": null, "tags": [], "full_refresh": null}, "tags": [], "refs": [["stg_pinterest_ads__campaign_history_tmp"], ["stg_pinterest_ads__campaign_history_tmp"]], "sources": [], "depends_on": {"macros": ["macro.pinterest_source.get_campaign_history_columns", "macro.fivetran_utils.fill_staging_columns", "macro.dbt_utils.surrogate_key"], "nodes": ["model.pinterest_source.stg_pinterest_ads__campaign_history_tmp", "model.pinterest_source.stg_pinterest_ads__campaign_history_tmp"]}, "description": "Each record represents a version of a Pinterest Campaign.", "columns": {"campaign_id": {"name": "campaign_id", "description": "Campaign ID.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "created_timestamp": {"name": "created_timestamp", "description": "Campaign creation time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Campaign name.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status": {"name": "status", "description": "The status of the Campaign. One of \"ACTIVE\", \"ARCHIVED\", \"PAUSED\"", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "The time Fivetran synced a record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "version_id": {"name": "version_id", "description": "Unique ID for the version of a Campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "models/stg_pinterest_ads.yml", "build_path": "target/compiled/pinterest_source/models/stg_pinterest_ads__campaign_history.sql", "deferred": false, "unrendered_config": {"schema": "stg_pinterest", "materialized": "table"}, "compiled_sql": "with base as (\n\n select *\n from `dbt-package-testing`.`pinterest_source_integration_tests_stg_pinterest`.`stg_pinterest_ads__campaign_history_tmp`\n\n), fields as (\n\n select\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n created_time\n \n as created_timestamp , \n \n \n id\n \n as campaign_id , \n \n \n name\n \n as \n \n name\n \n, \n \n \n status\n \n as \n \n status\n \n\n\n\n from base\n\n), surrogate_key as (\n\n select \n *,\n to_hex(md5(cast(concat(coalesce(cast(campaign_id as \n string\n), ''), '-', coalesce(cast(_fivetran_synced as \n string\n), '')) as \n string\n))) as version_id\n from fields\n\n)\n\nselect *\nfrom surrogate_key", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`pinterest_source_integration_tests_stg_pinterest`.`stg_pinterest_ads__campaign_history`"}, "model.pinterest_source.stg_pinterest_ads__pin_promotion_report": {"raw_sql": "with base as (\n\n select *\n from {{ ref('stg_pinterest_ads__pin_promotion_report_tmp') }}\n\n), macro as (\n\n select\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_pinterest_ads__pin_promotion_report_tmp')),\n staging_columns=get_pin_promotion_report_columns()\n )\n }}\n from base\n\n), fields as (\n\n select \n date as date_day,\n pin_promotion_id,\n ad_group_id,\n campaign_id,\n advertiser_id,\n _fivetran_synced,\n coalesce(impression_1,0) + coalesce(impression_2,0) as impressions,\n coalesce(clickthrough_1,0) + coalesce(clickthrough_2,0) as clicks,\n spend_in_micro_dollar / 1000000.0 as spend\n from base\n\n), surrogate_key as (\n\n select\n *,\n {{ dbt_utils.surrogate_key(['date_day','pin_promotion_id']) }} as report_id\n from fields\n\n)\n\nselect *\nfrom surrogate_key", "compiled": true, "database": "dbt-package-testing", "schema": "pinterest_source_integration_tests_stg_pinterest", "fqn": ["pinterest_source", "stg_pinterest_ads__pin_promotion_report"], "unique_id": "model.pinterest_source.stg_pinterest_ads__pin_promotion_report", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/pinterest_source", "path": "stg_pinterest_ads__pin_promotion_report.sql", "original_file_path": "models/stg_pinterest_ads__pin_promotion_report.sql", "name": "stg_pinterest_ads__pin_promotion_report", "resource_type": "model", "alias": "stg_pinterest_ads__pin_promotion_report", "checksum": {"name": "sha256", "checksum": "1475fadccbc409a9312c2565c194bb1dabc278560c094099102ed27f492adf6d"}, "config": {"enabled": true, "materialized": "table", "persist_docs": {}, "post-hook": [], "pre-hook": [], "vars": {}, "quoting": {}, "column_types": {}, "alias": null, "schema": "stg_pinterest", "database": null, "tags": [], "full_refresh": null}, "tags": [], "refs": [["stg_pinterest_ads__pin_promotion_report_tmp"], ["stg_pinterest_ads__pin_promotion_report_tmp"]], "sources": [], "depends_on": {"macros": ["macro.pinterest_source.get_pin_promotion_report_columns", "macro.fivetran_utils.fill_staging_columns", "macro.dbt_utils.surrogate_key"], "nodes": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_report_tmp", "model.pinterest_source.stg_pinterest_ads__pin_promotion_report_tmp"]}, "description": "Each record represents the daily performance of a Pinterest Pin promotion.", "columns": {"date_day": {"name": "date_day", "description": "The performance date of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "pin_promotion_id": {"name": "pin_promotion_id", "description": "The ID of the related Pin promotion.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_id": {"name": "ad_group_id", "description": "The ID of the related Ad group.", "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": []}, "advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "The time Fivetran synced a record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impressions": {"name": "impressions", "description": "The number of impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clicks": {"name": "clicks", "description": "The number of clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend": {"name": "spend", "description": "The amount of spend that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "report_id": {"name": "report_id", "description": "The unique ID of each report record.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "models/stg_pinterest_ads.yml", "build_path": "target/compiled/pinterest_source/models/stg_pinterest_ads__pin_promotion_report.sql", "deferred": false, "unrendered_config": {"schema": "stg_pinterest", "materialized": "table"}, "compiled_sql": "with base as (\n\n select *\n from `dbt-package-testing`.`pinterest_source_integration_tests_stg_pinterest`.`stg_pinterest_ads__pin_promotion_report_tmp`\n\n), macro as (\n\n select\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n ad_group_id\n \n as \n \n ad_group_id\n \n, \n \n \n advertiser_id\n \n as \n \n advertiser_id\n \n, \n \n \n campaign_id\n \n as \n \n campaign_id\n \n, \n \n \n clickthrough_1\n \n as \n \n clickthrough_1\n \n, \n cast(null as \n numeric\n) as \n \n clickthrough_1_gross\n \n , \n \n \n clickthrough_2\n \n as \n \n clickthrough_2\n \n, \n cast(null as \n numeric\n) as \n \n closeup_1\n \n , \n cast(null as \n numeric\n) as \n \n closeup_2\n \n , \n cast(null as \n float64\n) as \n \n cpcv_in_micro_dollar\n \n , \n cast(null as \n float64\n) as \n \n cpcv_p_95_in_micro_dollar\n \n , \n cast(null as \n float64\n) as \n \n cpv_in_micro_dollar\n \n , \n \n \n date\n \n as \n \n date\n \n, \n cast(null as \n numeric\n) as \n \n engagement_1\n \n , \n cast(null as \n numeric\n) as \n \n engagement_2\n \n , \n \n \n impression_1\n \n as \n \n impression_1\n \n, \n cast(null as \n numeric\n) as \n \n impression_1_gross\n \n , \n \n \n impression_2\n \n as \n \n impression_2\n \n, \n cast(null as \n numeric\n) as \n \n pin_id\n \n , \n \n \n pin_promotion_id\n \n as \n \n pin_promotion_id\n \n, \n cast(null as \n numeric\n) as \n \n repin_1\n \n , \n cast(null as \n numeric\n) as \n \n repin_2\n \n , \n \n \n spend_in_micro_dollar\n \n as \n \n spend_in_micro_dollar\n \n, \n cast(null as \n numeric\n) as \n \n total_click_unknown\n \n , \n cast(null as \n numeric\n) as \n \n total_conversions\n \n , \n cast(null as \n float64\n) as \n \n total_impression_frequency\n \n , \n cast(null as \n numeric\n) as \n \n total_impression_user\n \n , \n cast(null as \n numeric\n) as \n \n total_unknown_tablet_action_to_mobile_conversion\n \n , \n cast(null as \n float64\n) as \n \n video_avg_watchtime_in_second_1\n \n , \n cast(null as \n float64\n) as \n \n video_avg_watchtime_in_second_2\n \n , \n cast(null as \n numeric\n) as \n \n video_mrc_views_1\n \n , \n cast(null as \n numeric\n) as \n \n video_mrc_views_2\n \n , \n cast(null as \n numeric\n) as \n \n video_p_0_combined_1\n \n , \n cast(null as \n numeric\n) as \n \n video_p_0_combined_2\n \n , \n cast(null as \n numeric\n) as \n \n video_p_100_complete_1\n \n , \n cast(null as \n numeric\n) as \n \n video_p_100_complete_2\n \n , \n cast(null as \n numeric\n) as \n \n video_p_25_combined_1\n \n , \n cast(null as \n numeric\n) as \n \n video_p_25_combined_2\n \n , \n cast(null as \n numeric\n) as \n \n video_p_50_combined_1\n \n , \n cast(null as \n numeric\n) as \n \n video_p_50_combined_2\n \n , \n cast(null as \n numeric\n) as \n \n video_p_75_combined_1\n \n , \n cast(null as \n numeric\n) as \n \n video_p_75_combined_2\n \n , \n cast(null as \n numeric\n) as \n \n video_p_95_combined_1\n \n , \n cast(null as \n numeric\n) as \n \n video_p_95_combined_2\n \n \n\n\n from base\n\n), fields as (\n\n select \n date as date_day,\n pin_promotion_id,\n ad_group_id,\n campaign_id,\n advertiser_id,\n _fivetran_synced,\n coalesce(impression_1,0) + coalesce(impression_2,0) as impressions,\n coalesce(clickthrough_1,0) + coalesce(clickthrough_2,0) as clicks,\n spend_in_micro_dollar / 1000000.0 as spend\n from base\n\n), surrogate_key as (\n\n select\n *,\n to_hex(md5(cast(concat(coalesce(cast(date_day as \n string\n), ''), '-', coalesce(cast(pin_promotion_id as \n string\n), '')) as \n string\n))) as report_id\n from fields\n\n)\n\nselect *\nfrom surrogate_key", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`pinterest_source_integration_tests_stg_pinterest`.`stg_pinterest_ads__pin_promotion_report`"}, "model.pinterest_source.stg_pinterest_ads__ad_group_history": {"raw_sql": "with base as (\n\n select *\n from {{ ref('stg_pinterest_ads__ad_group_history_tmp') }}\n\n), fields as (\n\n select\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_pinterest_ads__ad_group_history_tmp')),\n staging_columns=get_ad_group_history_columns()\n )\n }}\n from base\n\n), surrogate_key as (\n\n select \n *,\n {{ dbt_utils.surrogate_key(['ad_group_id','_fivetran_synced'] )}} as version_id\n from fields\n\n)\n\nselect *\nfrom surrogate_key", "compiled": true, "database": "dbt-package-testing", "schema": "pinterest_source_integration_tests_stg_pinterest", "fqn": ["pinterest_source", "stg_pinterest_ads__ad_group_history"], "unique_id": "model.pinterest_source.stg_pinterest_ads__ad_group_history", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/pinterest_source", "path": "stg_pinterest_ads__ad_group_history.sql", "original_file_path": "models/stg_pinterest_ads__ad_group_history.sql", "name": "stg_pinterest_ads__ad_group_history", "resource_type": "model", "alias": "stg_pinterest_ads__ad_group_history", "checksum": {"name": "sha256", "checksum": "d305d0a0db070a7392c8d0aded88ab650d97b26fd7a7139e27940c942200637e"}, "config": {"enabled": true, "materialized": "table", "persist_docs": {}, "post-hook": [], "pre-hook": [], "vars": {}, "quoting": {}, "column_types": {}, "alias": null, "schema": "stg_pinterest", "database": null, "tags": [], "full_refresh": null}, "tags": [], "refs": [["stg_pinterest_ads__ad_group_history_tmp"], ["stg_pinterest_ads__ad_group_history_tmp"]], "sources": [], "depends_on": {"macros": ["macro.pinterest_source.get_ad_group_history_columns", "macro.fivetran_utils.fill_staging_columns", "macro.dbt_utils.surrogate_key"], "nodes": ["model.pinterest_source.stg_pinterest_ads__ad_group_history_tmp", "model.pinterest_source.stg_pinterest_ads__ad_group_history_tmp"]}, "description": "Each record represents a version of a Pinterest Ad Group.", "columns": {"ad_group_id": {"name": "ad_group_id", "description": "Ad group ID.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_id": {"name": "campaign_id", "description": "Parent Campaign ID.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "created_timestamp": {"name": "created_timestamp", "description": "Ad group creation time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Ad group name.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status": {"name": "status", "description": "The status of the Ad group. One of \"ACTIVE\", \"ARCHIVED\", \"PAUSED\"", "meta": {}, "data_type": null, "quote": null, "tags": []}, "start_timestamp": {"name": "start_timestamp", "description": "Ad group start time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "end_timestamp": {"name": "end_timestamp", "description": "Ad group end time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "The time Fivetran synced a record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "version_id": {"name": "version_id", "description": "Unique ID for the version of an Ad group.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "models/stg_pinterest_ads.yml", "build_path": "target/compiled/pinterest_source/models/stg_pinterest_ads__ad_group_history.sql", "deferred": false, "unrendered_config": {"schema": "stg_pinterest", "materialized": "table"}, "compiled_sql": "with base as (\n\n select *\n from `dbt-package-testing`.`pinterest_source_integration_tests_stg_pinterest`.`stg_pinterest_ads__ad_group_history_tmp`\n\n), fields as (\n\n select\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n campaign_id\n \n as \n \n campaign_id\n \n, \n \n \n created_time\n \n as created_timestamp , \n \n \n end_time\n \n as end_timestamp , \n \n \n id\n \n as ad_group_id , \n \n \n name\n \n as \n \n name\n \n, \n \n \n start_time\n \n as start_timestamp , \n \n \n status\n \n as \n \n status\n \n\n\n\n from base\n\n), surrogate_key as (\n\n select \n *,\n to_hex(md5(cast(concat(coalesce(cast(ad_group_id as \n string\n), ''), '-', coalesce(cast(_fivetran_synced as \n string\n), '')) as \n string\n))) as version_id\n from fields\n\n)\n\nselect *\nfrom surrogate_key", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`pinterest_source_integration_tests_stg_pinterest`.`stg_pinterest_ads__ad_group_history`"}, "model.pinterest_source.stg_pinterest_ads__pin_promotion_report_tmp": {"raw_sql": "select *\nfrom {{ var('pin_promotion_report') }}", "compiled": true, "database": "dbt-package-testing", "schema": "pinterest_source_integration_tests_stg_pinterest", "fqn": ["pinterest_source", "tmp", "stg_pinterest_ads__pin_promotion_report_tmp"], "unique_id": "model.pinterest_source.stg_pinterest_ads__pin_promotion_report_tmp", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/pinterest_source", "path": "tmp/stg_pinterest_ads__pin_promotion_report_tmp.sql", "original_file_path": "models/tmp/stg_pinterest_ads__pin_promotion_report_tmp.sql", "name": "stg_pinterest_ads__pin_promotion_report_tmp", "resource_type": "model", "alias": "stg_pinterest_ads__pin_promotion_report_tmp", "checksum": {"name": "sha256", "checksum": "18cfa5bd72f823f350eb4fd5f5400957cc628d66510236ca582e0186f4ed24f4"}, "config": {"enabled": true, "materialized": "view", "persist_docs": {}, "post-hook": [], "pre-hook": [], "vars": {}, "quoting": {}, "column_types": {}, "alias": null, "schema": "stg_pinterest", "database": null, "tags": [], "full_refresh": null}, "tags": [], "refs": [["pin_promotion_report_data"]], "sources": [], "depends_on": {"macros": [], "nodes": ["seed.pinterest_source_integration_tests.pin_promotion_report_data"]}, "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "build_path": "target/compiled/pinterest_source/models/tmp/stg_pinterest_ads__pin_promotion_report_tmp.sql", "deferred": false, "unrendered_config": {"schema": "stg_pinterest", "materialized": "view"}, "compiled_sql": "select *\nfrom `dbt-package-testing`.`pinterest_source_integration_tests`.`pin_promotion_report_data`", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`pinterest_source_integration_tests_stg_pinterest`.`stg_pinterest_ads__pin_promotion_report_tmp`"}, "model.pinterest_source.stg_pinterest_ads__campaign_history_tmp": {"raw_sql": "select *\nfrom {{ var('campaign_history') }}", "compiled": true, "database": "dbt-package-testing", "schema": "pinterest_source_integration_tests_stg_pinterest", "fqn": ["pinterest_source", "tmp", "stg_pinterest_ads__campaign_history_tmp"], "unique_id": "model.pinterest_source.stg_pinterest_ads__campaign_history_tmp", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/pinterest_source", "path": "tmp/stg_pinterest_ads__campaign_history_tmp.sql", "original_file_path": "models/tmp/stg_pinterest_ads__campaign_history_tmp.sql", "name": "stg_pinterest_ads__campaign_history_tmp", "resource_type": "model", "alias": "stg_pinterest_ads__campaign_history_tmp", "checksum": {"name": "sha256", "checksum": "ea41c8d4ba83ff540a5f38f481cbd17406e99954f8b9b7b086ac94203a8dd6bd"}, "config": {"enabled": true, "materialized": "view", "persist_docs": {}, "post-hook": [], "pre-hook": [], "vars": {}, "quoting": {}, "column_types": {}, "alias": null, "schema": "stg_pinterest", "database": null, "tags": [], "full_refresh": null}, "tags": [], "refs": [["campaign_history_data"]], "sources": [], "depends_on": {"macros": [], "nodes": ["seed.pinterest_source_integration_tests.campaign_history_data"]}, "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "build_path": "target/compiled/pinterest_source/models/tmp/stg_pinterest_ads__campaign_history_tmp.sql", "deferred": false, "unrendered_config": {"schema": "stg_pinterest", "materialized": "view"}, "compiled_sql": "select *\nfrom `dbt-package-testing`.`pinterest_source_integration_tests`.`campaign_history_data`", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`pinterest_source_integration_tests_stg_pinterest`.`stg_pinterest_ads__campaign_history_tmp`"}, "model.pinterest_source.stg_pinterest_ads__ad_group_history_tmp": {"raw_sql": "select *\nfrom {{ var('ad_group_history') }}", "compiled": true, "database": "dbt-package-testing", "schema": "pinterest_source_integration_tests_stg_pinterest", "fqn": ["pinterest_source", "tmp", "stg_pinterest_ads__ad_group_history_tmp"], "unique_id": "model.pinterest_source.stg_pinterest_ads__ad_group_history_tmp", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/pinterest_source", "path": "tmp/stg_pinterest_ads__ad_group_history_tmp.sql", "original_file_path": "models/tmp/stg_pinterest_ads__ad_group_history_tmp.sql", "name": "stg_pinterest_ads__ad_group_history_tmp", "resource_type": "model", "alias": "stg_pinterest_ads__ad_group_history_tmp", "checksum": {"name": "sha256", "checksum": "23726e9b019c8268e9aaae828c6c1430685538bef615e52f2c17436dd3615dfa"}, "config": {"enabled": true, "materialized": "view", "persist_docs": {}, "post-hook": [], "pre-hook": [], "vars": {}, "quoting": {}, "column_types": {}, "alias": null, "schema": "stg_pinterest", "database": null, "tags": [], "full_refresh": null}, "tags": [], "refs": [["ad_group_history_data"]], "sources": [], "depends_on": {"macros": [], "nodes": ["seed.pinterest_source_integration_tests.ad_group_history_data"]}, "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "build_path": "target/compiled/pinterest_source/models/tmp/stg_pinterest_ads__ad_group_history_tmp.sql", "deferred": false, "unrendered_config": {"schema": "stg_pinterest", "materialized": "view"}, "compiled_sql": "select *\nfrom `dbt-package-testing`.`pinterest_source_integration_tests`.`ad_group_history_data`", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`pinterest_source_integration_tests_stg_pinterest`.`stg_pinterest_ads__ad_group_history_tmp`"}, "model.pinterest_source.stg_pinterest_ads__pin_promotion_history_tmp": {"raw_sql": "select *\nfrom {{ var('pin_promotion_history') }}", "compiled": true, "database": "dbt-package-testing", "schema": "pinterest_source_integration_tests_stg_pinterest", "fqn": ["pinterest_source", "tmp", "stg_pinterest_ads__pin_promotion_history_tmp"], "unique_id": "model.pinterest_source.stg_pinterest_ads__pin_promotion_history_tmp", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/pinterest_source", "path": "tmp/stg_pinterest_ads__pin_promotion_history_tmp.sql", "original_file_path": "models/tmp/stg_pinterest_ads__pin_promotion_history_tmp.sql", "name": "stg_pinterest_ads__pin_promotion_history_tmp", "resource_type": "model", "alias": "stg_pinterest_ads__pin_promotion_history_tmp", "checksum": {"name": "sha256", "checksum": "065bd24ab667bb3742cf11e3d96295c4c78ecdc04bb4d86a8bfa521482c55e71"}, "config": {"enabled": true, "materialized": "view", "persist_docs": {}, "post-hook": [], "pre-hook": [], "vars": {}, "quoting": {}, "column_types": {}, "alias": null, "schema": "stg_pinterest", "database": null, "tags": [], "full_refresh": null}, "tags": [], "refs": [["pin_promotion_history_data"]], "sources": [], "depends_on": {"macros": [], "nodes": ["seed.pinterest_source_integration_tests.pin_promotion_history_data"]}, "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "build_path": "target/compiled/pinterest_source/models/tmp/stg_pinterest_ads__pin_promotion_history_tmp.sql", "deferred": false, "unrendered_config": {"schema": "stg_pinterest", "materialized": "view"}, "compiled_sql": "select *\nfrom `dbt-package-testing`.`pinterest_source_integration_tests`.`pin_promotion_history_data`", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "`dbt-package-testing`.`pinterest_source_integration_tests_stg_pinterest`.`stg_pinterest_ads__pin_promotion_history_tmp`"}, "test.pinterest_source.unique_stg_pinterest_ads__ad_group_history_version_id": {"raw_sql": "{{ config(severity='ERROR') }}{{ test_unique(**_dbt_schema_test_kwargs) }}", "test_metadata": {"namespace": null, "name": "unique", "kwargs": {"column_name": "version_id", "model": "{{ ref('stg_pinterest_ads__ad_group_history') }}"}}, "compiled": true, "database": "dbt-package-testing", "schema": "pinterest_source_integration_tests_stg_pinterest", "fqn": ["pinterest_source", "schema_test", "unique_stg_pinterest_ads__ad_group_history_version_id"], "unique_id": "test.pinterest_source.unique_stg_pinterest_ads__ad_group_history_version_id", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/pinterest_source", "path": "schema_test/unique_stg_pinterest_ads__ad_group_history_version_id.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "unique_stg_pinterest_ads__ad_group_history_version_id", "resource_type": "test", "alias": "unique_stg_pinterest_ads__ad_group_history_version_id", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "materialized": "table", "persist_docs": {}, "post-hook": [], "pre-hook": [], "vars": {}, "quoting": {}, "column_types": {}, "alias": null, "schema": "stg_pinterest", "database": null, "tags": [], "full_refresh": null, "severity": "ERROR"}, "tags": ["schema"], "refs": [["stg_pinterest_ads__ad_group_history"]], "sources": [], "depends_on": {"macros": ["macro.dbt.test_unique"], "nodes": ["model.pinterest_source.stg_pinterest_ads__ad_group_history"]}, "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "build_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/schema_test/unique_stg_pinterest_ads__ad_group_history_version_id.sql", "deferred": false, "unrendered_config": {"schema": "stg_pinterest", "materialized": "table", "severity": "ERROR"}, "compiled_sql": "\n \n \n\n\n\nselect count(*) as validation_errors\nfrom (\n\n select\n version_id\n\n from `dbt-package-testing`.`pinterest_source_integration_tests_stg_pinterest`.`stg_pinterest_ads__ad_group_history`\n where version_id is not null\n group by version_id\n having count(*) > 1\n\n) validation_errors\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "version_id"}, "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_history_version_id": {"raw_sql": "{{ config(severity='ERROR') }}{{ test_not_null(**_dbt_schema_test_kwargs) }}", "test_metadata": {"namespace": null, "name": "not_null", "kwargs": {"column_name": "version_id", "model": "{{ ref('stg_pinterest_ads__ad_group_history') }}"}}, "compiled": true, "database": "dbt-package-testing", "schema": "pinterest_source_integration_tests_stg_pinterest", "fqn": ["pinterest_source", "schema_test", "not_null_stg_pinterest_ads__ad_group_history_version_id"], "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_history_version_id", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/pinterest_source", "path": "schema_test/not_null_stg_pinterest_ads__ad_group_history_version_id.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "not_null_stg_pinterest_ads__ad_group_history_version_id", "resource_type": "test", "alias": "not_null_stg_pinterest_ads__ad_group_history_version_id", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "materialized": "table", "persist_docs": {}, "post-hook": [], "pre-hook": [], "vars": {}, "quoting": {}, "column_types": {}, "alias": null, "schema": "stg_pinterest", "database": null, "tags": [], "full_refresh": null, "severity": "ERROR"}, "tags": ["schema"], "refs": [["stg_pinterest_ads__ad_group_history"]], "sources": [], "depends_on": {"macros": ["macro.dbt.test_not_null"], "nodes": ["model.pinterest_source.stg_pinterest_ads__ad_group_history"]}, "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "build_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/schema_test/not_null_stg_pinterest_ads__ad_group_history_version_id.sql", "deferred": false, "unrendered_config": {"schema": "stg_pinterest", "materialized": "table", "severity": "ERROR"}, "compiled_sql": "\n \n \n\n\n\nselect count(*) as validation_errors\nfrom `dbt-package-testing`.`pinterest_source_integration_tests_stg_pinterest`.`stg_pinterest_ads__ad_group_history`\nwhere version_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "version_id"}, "test.pinterest_source.unique_stg_pinterest_ads__campaign_history_version_id": {"raw_sql": "{{ config(severity='ERROR') }}{{ test_unique(**_dbt_schema_test_kwargs) }}", "test_metadata": {"namespace": null, "name": "unique", "kwargs": {"column_name": "version_id", "model": "{{ ref('stg_pinterest_ads__campaign_history') }}"}}, "compiled": true, "database": "dbt-package-testing", "schema": "pinterest_source_integration_tests_stg_pinterest", "fqn": ["pinterest_source", "schema_test", "unique_stg_pinterest_ads__campaign_history_version_id"], "unique_id": "test.pinterest_source.unique_stg_pinterest_ads__campaign_history_version_id", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/pinterest_source", "path": "schema_test/unique_stg_pinterest_ads__campaign_history_version_id.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "unique_stg_pinterest_ads__campaign_history_version_id", "resource_type": "test", "alias": "unique_stg_pinterest_ads__campaign_history_version_id", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "materialized": "table", "persist_docs": {}, "post-hook": [], "pre-hook": [], "vars": {}, "quoting": {}, "column_types": {}, "alias": null, "schema": "stg_pinterest", "database": null, "tags": [], "full_refresh": null, "severity": "ERROR"}, "tags": ["schema"], "refs": [["stg_pinterest_ads__campaign_history"]], "sources": [], "depends_on": {"macros": ["macro.dbt.test_unique"], "nodes": ["model.pinterest_source.stg_pinterest_ads__campaign_history"]}, "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "build_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/schema_test/unique_stg_pinterest_ads__campaign_history_version_id.sql", "deferred": false, "unrendered_config": {"schema": "stg_pinterest", "materialized": "table", "severity": "ERROR"}, "compiled_sql": "\n \n \n\n\n\nselect count(*) as validation_errors\nfrom (\n\n select\n version_id\n\n from `dbt-package-testing`.`pinterest_source_integration_tests_stg_pinterest`.`stg_pinterest_ads__campaign_history`\n where version_id is not null\n group by version_id\n having count(*) > 1\n\n) validation_errors\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "version_id"}, "test.pinterest_source.not_null_stg_pinterest_ads__campaign_history_version_id": {"raw_sql": "{{ config(severity='ERROR') }}{{ test_not_null(**_dbt_schema_test_kwargs) }}", "test_metadata": {"namespace": null, "name": "not_null", "kwargs": {"column_name": "version_id", "model": "{{ ref('stg_pinterest_ads__campaign_history') }}"}}, "compiled": true, "database": "dbt-package-testing", "schema": "pinterest_source_integration_tests_stg_pinterest", "fqn": ["pinterest_source", "schema_test", "not_null_stg_pinterest_ads__campaign_history_version_id"], "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__campaign_history_version_id", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/pinterest_source", "path": "schema_test/not_null_stg_pinterest_ads__campaign_history_version_id.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "not_null_stg_pinterest_ads__campaign_history_version_id", "resource_type": "test", "alias": "not_null_stg_pinterest_ads__campaign_history_version_id", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "materialized": "table", "persist_docs": {}, "post-hook": [], "pre-hook": [], "vars": {}, "quoting": {}, "column_types": {}, "alias": null, "schema": "stg_pinterest", "database": null, "tags": [], "full_refresh": null, "severity": "ERROR"}, "tags": ["schema"], "refs": [["stg_pinterest_ads__campaign_history"]], "sources": [], "depends_on": {"macros": ["macro.dbt.test_not_null"], "nodes": ["model.pinterest_source.stg_pinterest_ads__campaign_history"]}, "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "build_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/schema_test/not_null_stg_pinterest_ads__campaign_history_version_id.sql", "deferred": false, "unrendered_config": {"schema": "stg_pinterest", "materialized": "table", "severity": "ERROR"}, "compiled_sql": "\n \n \n\n\n\nselect count(*) as validation_errors\nfrom `dbt-package-testing`.`pinterest_source_integration_tests_stg_pinterest`.`stg_pinterest_ads__campaign_history`\nwhere version_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "version_id"}, "test.pinterest_source.unique_stg_pinterest_ads__pin_promotion_history_version_id": {"raw_sql": "{{ config(severity='ERROR') }}{{ test_unique(**_dbt_schema_test_kwargs) }}", "test_metadata": {"namespace": null, "name": "unique", "kwargs": {"column_name": "version_id", "model": "{{ ref('stg_pinterest_ads__pin_promotion_history') }}"}}, "compiled": true, "database": "dbt-package-testing", "schema": "pinterest_source_integration_tests_stg_pinterest", "fqn": ["pinterest_source", "schema_test", "unique_stg_pinterest_ads__pin_promotion_history_version_id"], "unique_id": "test.pinterest_source.unique_stg_pinterest_ads__pin_promotion_history_version_id", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/pinterest_source", "path": "schema_test/unique_stg_pinterest_ads__pin_promotion_history_version_id.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "unique_stg_pinterest_ads__pin_promotion_history_version_id", "resource_type": "test", "alias": "unique_stg_pinterest_ads__pin_promotion_history_version_id", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "materialized": "table", "persist_docs": {}, "post-hook": [], "pre-hook": [], "vars": {}, "quoting": {}, "column_types": {}, "alias": null, "schema": "stg_pinterest", "database": null, "tags": [], "full_refresh": null, "severity": "ERROR"}, "tags": ["schema"], "refs": [["stg_pinterest_ads__pin_promotion_history"]], "sources": [], "depends_on": {"macros": ["macro.dbt.test_unique"], "nodes": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_history"]}, "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "build_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/schema_test/unique_stg_pinterest_ads__pin_promotion_history_version_id.sql", "deferred": false, "unrendered_config": {"schema": "stg_pinterest", "materialized": "table", "severity": "ERROR"}, "compiled_sql": "\n \n \n\n\n\nselect count(*) as validation_errors\nfrom (\n\n select\n version_id\n\n from `dbt-package-testing`.`pinterest_source_integration_tests_stg_pinterest`.`stg_pinterest_ads__pin_promotion_history`\n where version_id is not null\n group by version_id\n having count(*) > 1\n\n) validation_errors\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "version_id"}, "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_history_version_id": {"raw_sql": "{{ config(severity='ERROR') }}{{ test_not_null(**_dbt_schema_test_kwargs) }}", "test_metadata": {"namespace": null, "name": "not_null", "kwargs": {"column_name": "version_id", "model": "{{ ref('stg_pinterest_ads__pin_promotion_history') }}"}}, "compiled": true, "database": "dbt-package-testing", "schema": "pinterest_source_integration_tests_stg_pinterest", "fqn": ["pinterest_source", "schema_test", "not_null_stg_pinterest_ads__pin_promotion_history_version_id"], "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_history_version_id", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/pinterest_source", "path": "schema_test/not_null_stg_pinterest_ads__pin_promotion_history_version_id.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "not_null_stg_pinterest_ads__pin_promotion_history_version_id", "resource_type": "test", "alias": "not_null_stg_pinterest_ads__pin_promotion_history_version_id", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "materialized": "table", "persist_docs": {}, "post-hook": [], "pre-hook": [], "vars": {}, "quoting": {}, "column_types": {}, "alias": null, "schema": "stg_pinterest", "database": null, "tags": [], "full_refresh": null, "severity": "ERROR"}, "tags": ["schema"], "refs": [["stg_pinterest_ads__pin_promotion_history"]], "sources": [], "depends_on": {"macros": ["macro.dbt.test_not_null"], "nodes": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_history"]}, "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "build_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/schema_test/not_null_stg_pinterest_ads__pin_promotion_history_version_id.sql", "deferred": false, "unrendered_config": {"schema": "stg_pinterest", "materialized": "table", "severity": "ERROR"}, "compiled_sql": "\n \n \n\n\n\nselect count(*) as validation_errors\nfrom `dbt-package-testing`.`pinterest_source_integration_tests_stg_pinterest`.`stg_pinterest_ads__pin_promotion_history`\nwhere version_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "version_id"}, "test.pinterest_source.unique_stg_pinterest_ads__pin_promotion_report_report_id": {"raw_sql": "{{ config(severity='ERROR') }}{{ test_unique(**_dbt_schema_test_kwargs) }}", "test_metadata": {"namespace": null, "name": "unique", "kwargs": {"column_name": "report_id", "model": "{{ ref('stg_pinterest_ads__pin_promotion_report') }}"}}, "compiled": true, "database": "dbt-package-testing", "schema": "pinterest_source_integration_tests_stg_pinterest", "fqn": ["pinterest_source", "schema_test", "unique_stg_pinterest_ads__pin_promotion_report_report_id"], "unique_id": "test.pinterest_source.unique_stg_pinterest_ads__pin_promotion_report_report_id", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/pinterest_source", "path": "schema_test/unique_stg_pinterest_ads__pin_promotion_report_report_id.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "unique_stg_pinterest_ads__pin_promotion_report_report_id", "resource_type": "test", "alias": "unique_stg_pinterest_ads__pin_promotion_report_report_id", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "materialized": "table", "persist_docs": {}, "post-hook": [], "pre-hook": [], "vars": {}, "quoting": {}, "column_types": {}, "alias": null, "schema": "stg_pinterest", "database": null, "tags": [], "full_refresh": null, "severity": "ERROR"}, "tags": ["schema"], "refs": [["stg_pinterest_ads__pin_promotion_report"]], "sources": [], "depends_on": {"macros": ["macro.dbt.test_unique"], "nodes": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_report"]}, "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "build_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/schema_test/unique_stg_pinterest_ads__pin_promotion_report_report_id.sql", "deferred": false, "unrendered_config": {"schema": "stg_pinterest", "materialized": "table", "severity": "ERROR"}, "compiled_sql": "\n \n \n\n\n\nselect count(*) as validation_errors\nfrom (\n\n select\n report_id\n\n from `dbt-package-testing`.`pinterest_source_integration_tests_stg_pinterest`.`stg_pinterest_ads__pin_promotion_report`\n where report_id is not null\n group by report_id\n having count(*) > 1\n\n) validation_errors\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "report_id"}, "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_report_report_id": {"raw_sql": "{{ config(severity='ERROR') }}{{ test_not_null(**_dbt_schema_test_kwargs) }}", "test_metadata": {"namespace": null, "name": "not_null", "kwargs": {"column_name": "report_id", "model": "{{ ref('stg_pinterest_ads__pin_promotion_report') }}"}}, "compiled": true, "database": "dbt-package-testing", "schema": "pinterest_source_integration_tests_stg_pinterest", "fqn": ["pinterest_source", "schema_test", "not_null_stg_pinterest_ads__pin_promotion_report_report_id"], "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_report_report_id", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/pinterest_source", "path": "schema_test/not_null_stg_pinterest_ads__pin_promotion_report_report_id.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "not_null_stg_pinterest_ads__pin_promotion_report_report_id", "resource_type": "test", "alias": "not_null_stg_pinterest_ads__pin_promotion_report_report_id", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "materialized": "table", "persist_docs": {}, "post-hook": [], "pre-hook": [], "vars": {}, "quoting": {}, "column_types": {}, "alias": null, "schema": "stg_pinterest", "database": null, "tags": [], "full_refresh": null, "severity": "ERROR"}, "tags": ["schema"], "refs": [["stg_pinterest_ads__pin_promotion_report"]], "sources": [], "depends_on": {"macros": ["macro.dbt.test_not_null"], "nodes": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_report"]}, "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "build_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/schema_test/not_null_stg_pinterest_ads__pin_promotion_report_report_id.sql", "deferred": false, "unrendered_config": {"schema": "stg_pinterest", "materialized": "table", "severity": "ERROR"}, "compiled_sql": "\n \n \n\n\n\nselect count(*) as validation_errors\nfrom `dbt-package-testing`.`pinterest_source_integration_tests_stg_pinterest`.`stg_pinterest_ads__pin_promotion_report`\nwhere report_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "report_id"}}, "sources": {"source.pinterest_source.pinterest_ads.pin_promotion_report": {"fqn": ["pinterest_source", "pinterest_ads", "pin_promotion_report"], "database": "dbt-package-testing", "schema": "pinterest_ads", "unique_id": "source.pinterest_source.pinterest_ads.pin_promotion_report", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/pinterest_source", "path": "models/src_pinterest_ads.yml", "original_file_path": "models/src_pinterest_ads.yml", "name": "pin_promotion_report", "source_name": "pinterest_ads", "source_description": "", "loader": "", "identifier": "pin_promotion_report", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": null, "freshness": {"warn_after": null, "error_after": null, "filter": null}, "external": null, "description": "Each record represents the daily performance of a Pinterest Pin promotion.", "columns": {"date": {"name": "date", "description": "The performance date of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "pin_promotion_id": {"name": "pin_promotion_id", "description": "The ID of the related Pin promotion.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_id": {"name": "ad_group_id", "description": "The ID of the related Ad group.", "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": []}, "advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "The time Fivetran synced a record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impression_1": {"name": "impression_1", "description": "The number of impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impression_2": {"name": "impression_2", "description": "The number of impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clickthrough_1": {"name": "clickthrough_1", "description": "The number of clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clickthrough_2": {"name": "clickthrough_2", "description": "The number of clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend_in_micro_dollar": {"name": "spend_in_micro_dollar", "description": "The amount of spend that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "`dbt-package-testing`.`pinterest_ads`.`pin_promotion_report`"}, "source.pinterest_source.pinterest_ads.pin_promotion_history": {"fqn": ["pinterest_source", "pinterest_ads", "pin_promotion_history"], "database": "dbt-package-testing", "schema": "pinterest_ads", "unique_id": "source.pinterest_source.pinterest_ads.pin_promotion_history", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/pinterest_source", "path": "models/src_pinterest_ads.yml", "original_file_path": "models/src_pinterest_ads.yml", "name": "pin_promotion_history", "source_name": "pinterest_ads", "source_description": "", "loader": "", "identifier": "pin_promotion_history", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": null, "freshness": {"warn_after": null, "error_after": null, "filter": null}, "external": null, "description": "Each record represents a version of a Pinterest Pin promotion.", "columns": {"id": {"name": "id", "description": "Pin promotion ID.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_id": {"name": "ad_group_id", "description": "Pin promotion ad group ID.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "created_time": {"name": "created_time", "description": "Pin creation time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "destination_url": {"name": "destination_url", "description": "Pin destination URL.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Pin promotion name.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "pin_id": {"name": "pin_id", "description": "Original pin ID.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status": {"name": "status", "description": "The status of the Pin promotion. One of \"ACTIVE\", \"ARCHIVED\", \"PAUSED\"", "meta": {}, "data_type": null, "quote": null, "tags": []}, "creative_type": {"name": "creative_type", "description": "The creative type. \nOne of \"APP\", \"APP_VIDEO\", \"BOARD\", \"CAROUSEL\", \"CINEMATIC\", \"COMMERCE\", \"MAX_VIDEO\", \"NATIVE_VIDEO\", \"REGULAR\", \n\"SEARCH_PROMINENCE\", \"SEARCH_PROMINENCE_CAROUSEL\", \"SHOPPING\", \"SHOP_THE_PIN\", \"THIRD_PARTY\", or \"VIDEO\".\n", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "The time Fivetran synced a record.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "`dbt-package-testing`.`pinterest_ads`.`pin_promotion_history`"}, "source.pinterest_source.pinterest_ads.campaign_history": {"fqn": ["pinterest_source", "pinterest_ads", "campaign_history"], "database": "dbt-package-testing", "schema": "pinterest_ads", "unique_id": "source.pinterest_source.pinterest_ads.campaign_history", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/pinterest_source", "path": "models/src_pinterest_ads.yml", "original_file_path": "models/src_pinterest_ads.yml", "name": "campaign_history", "source_name": "pinterest_ads", "source_description": "", "loader": "", "identifier": "campaign_history", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": null, "freshness": {"warn_after": null, "error_after": null, "filter": null}, "external": null, "description": "Each record represents a version of a Pinterest Campaign.", "columns": {"id": {"name": "id", "description": "Campaign ID.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "created_time": {"name": "created_time", "description": "Campaign creation time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Campaign name.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status": {"name": "status", "description": "The status of the Campaign. One of \"ACTIVE\", \"ARCHIVED\", \"PAUSED\"", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "The time Fivetran synced a record.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "`dbt-package-testing`.`pinterest_ads`.`campaign_history`"}, "source.pinterest_source.pinterest_ads.ad_group_history": {"fqn": ["pinterest_source", "pinterest_ads", "ad_group_history"], "database": "dbt-package-testing", "schema": "pinterest_ads", "unique_id": "source.pinterest_source.pinterest_ads.ad_group_history", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/pinterest_source", "path": "models/src_pinterest_ads.yml", "original_file_path": "models/src_pinterest_ads.yml", "name": "ad_group_history", "source_name": "pinterest_ads", "source_description": "", "loader": "", "identifier": "ad_group_history", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": null, "freshness": {"warn_after": null, "error_after": null, "filter": null}, "external": null, "description": "Each record represents a version of a Pinterest Ad Group.", "columns": {"id": {"name": "id", "description": "Ad group ID.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_id": {"name": "campaign_id", "description": "Parent Campaign ID.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "created_time": {"name": "created_time", "description": "Ad group creation time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Ad group name.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status": {"name": "status", "description": "The status of the Ad group. One of \"ACTIVE\", \"ARCHIVED\", \"PAUSED\"", "meta": {}, "data_type": null, "quote": null, "tags": []}, "start_time": {"name": "start_time", "description": "Ad group start time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "end_time": {"name": "end_time", "description": "Ad group end time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "The time Fivetran synced a record.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "`dbt-package-testing`.`pinterest_ads`.`ad_group_history`"}}, "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.7/lib/python3.7/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}, "patch_path": null, "arguments": []}, "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.7/lib/python3.7/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}, "patch_path": null, "arguments": []}, "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.7/lib/python3.7/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}, "patch_path": null, "arguments": []}, "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.7/lib/python3.7/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": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "macro.dbt_bigquery.partition_by": {"unique_id": "macro.dbt_bigquery.partition_by", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/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}, "patch_path": null, "arguments": []}, "macro.dbt_bigquery.cluster_by": {"unique_id": "macro.dbt_bigquery.cluster_by", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/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\n", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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.7/lib/python3.7/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\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}, "patch_path": null, "arguments": []}, "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.7/lib/python3.7/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, 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 {{ sql }}\n );\n\n{%- endmacro -%}\n\n", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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.7/lib/python3.7/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_table_options(config, model, temporary=false) }}\n as {{ sql }};\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "macro.dbt_bigquery.bigquery__create_schema": {"unique_id": "macro.dbt_bigquery.bigquery__create_schema", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "name": "bigquery__create_schema", "macro_sql": "{% macro bigquery__create_schema(relation) -%}\n {{ adapter.create_schema(relation) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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.7/lib/python3.7/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}, "patch_path": null, "arguments": []}, "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.7/lib/python3.7/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": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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.7/lib/python3.7/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}, "patch_path": null, "arguments": []}, "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.7/lib/python3.7/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}, "patch_path": null, "arguments": []}, "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.7/lib/python3.7/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.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": []}, "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.7/lib/python3.7/site-packages/dbt/include/bigquery", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.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}, "patch_path": null, "arguments": []}, "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.7/lib/python3.7/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}, "patch_path": null, "arguments": []}, "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.7/lib/python3.7/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}, "patch_path": null, "arguments": []}, "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.7/lib/python3.7/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": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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.7/lib/python3.7/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}, "patch_path": null, "arguments": []}, "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.7/lib/python3.7/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}, "patch_path": null, "arguments": []}, "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.7/lib/python3.7/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 {#\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": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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.7/lib/python3.7/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}, "patch_path": null, "arguments": []}, "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.7/lib/python3.7/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}, "patch_path": null, "arguments": []}, "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.7/lib/python3.7/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}, "patch_path": null, "arguments": []}, "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.7/lib/python3.7/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}, "patch_path": null, "arguments": []}, "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.7/lib/python3.7/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 {% set to_return = create_or_replace_view(run_outside_transaction_hooks=False) %}\n\n {% set target_relation = this.incorporate(type='view') %}\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": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "macro.dbt_bigquery.make_date_partitioned_table": {"unique_id": "macro.dbt_bigquery.make_date_partitioned_table", "package_name": "dbt_bigquery", "root_path": "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/dbt/include/bigquery", "path": "macros/materializations/table.sql", "original_file_path": "macros/materializations/table.sql", "name": "make_date_partitioned_table", "macro_sql": "{% macro make_date_partitioned_table(model, relation, dates, should_create, verbose=False) %}\n\n {% if should_create %}\n {{ adapter.make_date_partitioned_table(relation) }}\n {% endif %}\n\n {% for date in dates %}\n {% set date = (date | string) %}\n {% if verbose %}\n {% set table_start_time = modules.datetime.datetime.now().strftime(\"%H:%M:%S\") %}\n {{ log(table_start_time ~ ' | -> Running for day ' ~ date, info=True) }}\n {% endif %}\n\n {% set fixed_sql = model['compiled_sql'] | replace('[DBT__PARTITION_DATE]', date) %}\n {% set _ = adapter.execute_model(model, 'table', fixed_sql, decorator=date) %}\n {% endfor %}\n\n {% set num_days = dates | length %}\n {% if num_days == 1 %}\n {% set result_str = 'CREATED 1 PARTITION' %}\n {% else %}\n {% set result_str = 'CREATED ' ~ num_days ~ ' PARTITIONS' %}\n {% endif %}\n\n {{ store_result('main', response=result_str) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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.7/lib/python3.7/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' -%}\n\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 {%- set verbose = config.get('verbose', False) -%}\n\n {# partitions: iterate over each partition, running a separate query in a for-loop #}\n {%- set partitions = config.get('partitions') -%}\n\n {% if partitions %}\n {% if partitions is number or partitions is string %}\n {% set partitions = [(partitions | string)] %}\n {% endif %}\n\n {% if partitions is not iterable %}\n {{ exceptions.raise_compiler_error(\"Provided `partitions` configuration is not a list. Got: \" ~ partitions, model) }}\n {% endif %}\n {% endif %}\n\n {{ run_hooks(pre_hooks) }}\n\n {#\n Since dbt uses WRITE_TRUNCATE mode for tables, we only need to drop this thing\n if it is not a table. If it _is_ already a table, then we can overwrite it without downtime\n #}\n {%- if exists_not_as_table -%}\n {{ adapter.drop_relation(old_relation) }}\n {%- endif -%}\n\n -- build model\n {% if partitions %}\n {# Create the dp-table if 1. it does not exist or 2. it existed, but we just dropped it #}\n {%- set should_create = (old_relation is none or exists_not_as_table) -%}\n {{ make_date_partitioned_table(model, target_relation, partitions, should_create, verbose) }}\n {% else %}\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 {% call statement('main') -%}\n {{ create_table_as(False, target_relation, sql) }}\n {% endcall -%}\n {% endif %}\n\n {{ run_hooks(post_hooks) }}\n\n {% do persist_docs(target_relation, model) %}\n\n {{ return({'relations': [target_relation]}) }}\n\n{% endmaterialization %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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.7/lib/python3.7/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 {# there should be exactly one ref or exactly one source #}\n {% set destination = this.incorporate(type='table') %}\n\n {% set dependency_type = none %}\n {% if (model.refs | length) == 1 and (model.sources | length) == 0 %}\n {% set dependency_type = 'ref' %}\n {% elif (model.refs | length) == 0 and (model.sources | length) == 1 %}\n {% set dependency_type = 'source' %}\n {% else %}\n {% set msg %}\n Expected exactly one ref or exactly one source, instead got {{ model.refs | length }} models and {{ model.sources | length }} sources.\n {% endset %}\n {% do exceptions.raise_compiler_error(msg) %}\n {% endif %}\n\n {% if dependency_type == 'ref' %}\n {% set src = ref(*model.refs[0]) %}\n {% else %}\n {% set src = source(*model.sources[0]) %}\n {% endif %}\n\n {%- set result_str = adapter.copy_table(\n src,\n destination,\n config.get('copy_materialization', 'table')) -%}\n\n {{ store_result('main', response=result_str) }}\n\n {# Clean up #}\n {{ run_hooks(post_hooks) }}\n {{ adapter.commit() }}\n\n {{ return({'relations': [destination]}) }}\n{%- endmaterialization %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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.7/lib/python3.7/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\", default=\"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}, "patch_path": null, "arguments": []}, "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.7/lib/python3.7/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(tmp_relation, target_relation, sql, unique_key, partition_by, partitions, dest_columns) %}\n {%- set partition_type =\n 'date' if partition_by.data_type in ('timestamp, datetime')\n else partition_by.data_type -%}\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 {{ 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_type }}>;\n declare _dbt_max_partition {{ partition_by.data_type }};\n\n set _dbt_max_partition = (\n select max({{ partition_by.field }}) from {{ this }}\n );\n\n -- 1. create a temp table\n {{ create_table_as(True, tmp_relation, sql) }}\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 {#\n TODO: include_sql_header is a hack; consider a better approach that includes\n the sql_header at the materialization-level instead\n #}\n -- 3. run the merge statement\n {{ get_insert_overwrite_merge_sql(target_relation, source_sql, dest_columns, [predicate], include_sql_header=false) }};\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": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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.7/lib/python3.7/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' -%}\n\n {%- set unique_key = config.get('unique_key') -%}\n {%- set full_refresh_mode = (should_full_refresh()) -%}\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 {{ run_hooks(pre_hooks) }}\n\n {% if existing_relation is none %}\n {% set build_sql = create_table_as(False, target_relation, sql) %}\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 {% set build_sql = create_table_as(False, target_relation, sql) %}\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 {% set build_sql = create_table_as(False, target_relation, sql) %}\n {% else %}\n {% set dest_columns = adapter.get_columns_in_relation(existing_relation) %}\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,\n target_relation,\n sql,\n unique_key,\n partition_by,\n partitions,\n dest_columns) %}\n\n {% else %}\n {#-- wrap sql in parens to make it a subquery --#}\n {%- set source_sql -%}\n (\n {{sql}}\n )\n {%- endset -%}\n\n {% set build_sql = get_merge_sql(target_relation, source_sql, unique_key, dest_columns) %}\n\n {% endif %}\n\n {% endif %}\n\n {%- call statement('main') -%}\n {{ build_sql }}\n {% endcall %}\n\n {{ run_hooks(post_hooks) }}\n\n {% set target_relation = this.incorporate(type='table') %}\n\n {% do persist_docs(target_relation, model) %}\n\n {{ return({'relations': [target_relation]}) }}\n\n{%- endmaterialization %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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.7/lib/python3.7/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}, "patch_path": null, "arguments": []}, "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.7/lib/python3.7/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}, "patch_path": null, "arguments": []}, "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.7/lib/python3.7/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": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "macro.dbt.statement": {"unique_id": "macro.dbt.statement", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/dbt/include/global_project", "path": "macros/core.sql", "original_file_path": "macros/core.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": []}, "macro.dbt.noop_statement": {"unique_id": "macro.dbt.noop_statement", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/dbt/include/global_project", "path": "macros/core.sql", "original_file_path": "macros/core.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": []}, "macro.dbt.run_hooks": {"unique_id": "macro.dbt.run_hooks", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/dbt/include/global_project", "path": "macros/materializations/helpers.sql", "original_file_path": "macros/materializations/helpers.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": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "macro.dbt.column_list": {"unique_id": "macro.dbt.column_list", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/dbt/include/global_project", "path": "macros/materializations/helpers.sql", "original_file_path": "macros/materializations/helpers.sql", "name": "column_list", "macro_sql": "{% macro column_list(columns) %}\n {%- for col in columns %}\n {{ col.name }} {% 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": []}, "macro.dbt.column_list_for_create_table": {"unique_id": "macro.dbt.column_list_for_create_table", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/dbt/include/global_project", "path": "macros/materializations/helpers.sql", "original_file_path": "macros/materializations/helpers.sql", "name": "column_list_for_create_table", "macro_sql": "{% macro column_list_for_create_table(columns) %}\n {%- for col in columns %}\n {{ col.name }} {{ col.data_type }} {%- 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": []}, "macro.dbt.make_hook_config": {"unique_id": "macro.dbt.make_hook_config", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/dbt/include/global_project", "path": "macros/materializations/helpers.sql", "original_file_path": "macros/materializations/helpers.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": []}, "macro.dbt.before_begin": {"unique_id": "macro.dbt.before_begin", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/dbt/include/global_project", "path": "macros/materializations/helpers.sql", "original_file_path": "macros/materializations/helpers.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": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "macro.dbt.in_transaction": {"unique_id": "macro.dbt.in_transaction", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/dbt/include/global_project", "path": "macros/materializations/helpers.sql", "original_file_path": "macros/materializations/helpers.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": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "macro.dbt.after_commit": {"unique_id": "macro.dbt.after_commit", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/dbt/include/global_project", "path": "macros/materializations/helpers.sql", "original_file_path": "macros/materializations/helpers.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": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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.7/lib/python3.7/site-packages/dbt/include/global_project", "path": "macros/materializations/helpers.sql", "original_file_path": "macros/materializations/helpers.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": []}, "macro.dbt.load_relation": {"unique_id": "macro.dbt.load_relation", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/dbt/include/global_project", "path": "macros/materializations/helpers.sql", "original_file_path": "macros/materializations/helpers.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": []}, "macro.dbt.should_full_refresh": {"unique_id": "macro.dbt.should_full_refresh", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/dbt/include/global_project", "path": "macros/materializations/helpers.sql", "original_file_path": "macros/materializations/helpers.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": []}, "macro.dbt.snapshot_merge_sql": {"unique_id": "macro.dbt.snapshot_merge_sql", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/dbt/include/global_project", "path": "macros/materializations/snapshot/snapshot_merge.sql", "original_file_path": "macros/materializations/snapshot/snapshot_merge.sql", "name": "snapshot_merge_sql", "macro_sql": "{% macro snapshot_merge_sql(target, source, insert_cols) -%}\n {{ adapter.dispatch('snapshot_merge_sql')(target, source, insert_cols) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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.7/lib/python3.7/site-packages/dbt/include/global_project", "path": "macros/materializations/snapshot/snapshot_merge.sql", "original_file_path": "macros/materializations/snapshot/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": []}, "macro.dbt.strategy_dispatch": {"unique_id": "macro.dbt.strategy_dispatch", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/dbt/include/global_project", "path": "macros/materializations/snapshot/strategies.sql", "original_file_path": "macros/materializations/snapshot/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": []}, "macro.dbt.snapshot_hash_arguments": {"unique_id": "macro.dbt.snapshot_hash_arguments", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/dbt/include/global_project", "path": "macros/materializations/snapshot/strategies.sql", "original_file_path": "macros/materializations/snapshot/strategies.sql", "name": "snapshot_hash_arguments", "macro_sql": "{% macro snapshot_hash_arguments(args) -%}\n {{ adapter.dispatch('snapshot_hash_arguments')(args) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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.7/lib/python3.7/site-packages/dbt/include/global_project", "path": "macros/materializations/snapshot/strategies.sql", "original_file_path": "macros/materializations/snapshot/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": []}, "macro.dbt.snapshot_get_time": {"unique_id": "macro.dbt.snapshot_get_time", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/dbt/include/global_project", "path": "macros/materializations/snapshot/strategies.sql", "original_file_path": "macros/materializations/snapshot/strategies.sql", "name": "snapshot_get_time", "macro_sql": "{% macro snapshot_get_time() -%}\n {{ adapter.dispatch('snapshot_get_time')() }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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.7/lib/python3.7/site-packages/dbt/include/global_project", "path": "macros/materializations/snapshot/strategies.sql", "original_file_path": "macros/materializations/snapshot/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": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "macro.dbt.snapshot_timestamp_strategy": {"unique_id": "macro.dbt.snapshot_timestamp_strategy", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/dbt/include/global_project", "path": "macros/materializations/snapshot/strategies.sql", "original_file_path": "macros/materializations/snapshot/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/fishtown-analytics/dbt/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": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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.7/lib/python3.7/site-packages/dbt/include/global_project", "path": "macros/materializations/snapshot/strategies.sql", "original_file_path": "macros/materializations/snapshot/strategies.sql", "name": "snapshot_string_as_time", "macro_sql": "{% macro snapshot_string_as_time(timestamp) -%}\n {{ adapter.dispatch('snapshot_string_as_time')(timestamp) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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.7/lib/python3.7/site-packages/dbt/include/global_project", "path": "macros/materializations/snapshot/strategies.sql", "original_file_path": "macros/materializations/snapshot/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": []}, "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.7/lib/python3.7/site-packages/dbt/include/global_project", "path": "macros/materializations/snapshot/strategies.sql", "original_file_path": "macros/materializations/snapshot/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": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "macro.dbt.snapshot_check_strategy": {"unique_id": "macro.dbt.snapshot_check_strategy", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/dbt/include/global_project", "path": "macros/materializations/snapshot/strategies.sql", "original_file_path": "macros/materializations/snapshot/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 = 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": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "macro.dbt.create_columns": {"unique_id": "macro.dbt.create_columns", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/dbt/include/global_project", "path": "macros/materializations/snapshot/snapshot.sql", "original_file_path": "macros/materializations/snapshot/snapshot.sql", "name": "create_columns", "macro_sql": "{% macro create_columns(relation, columns) %}\n {{ adapter.dispatch('create_columns')(relation, columns) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "macro.dbt.default__create_columns": {"unique_id": "macro.dbt.default__create_columns", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/dbt/include/global_project", "path": "macros/materializations/snapshot/snapshot.sql", "original_file_path": "macros/materializations/snapshot/snapshot.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": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "macro.dbt.post_snapshot": {"unique_id": "macro.dbt.post_snapshot", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/dbt/include/global_project", "path": "macros/materializations/snapshot/snapshot.sql", "original_file_path": "macros/materializations/snapshot/snapshot.sql", "name": "post_snapshot", "macro_sql": "{% macro post_snapshot(staging_relation) %}\n {{ adapter.dispatch('post_snapshot')(staging_relation) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "macro.dbt.default__post_snapshot": {"unique_id": "macro.dbt.default__post_snapshot", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/dbt/include/global_project", "path": "macros/materializations/snapshot/snapshot.sql", "original_file_path": "macros/materializations/snapshot/snapshot.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": []}, "macro.dbt.snapshot_staging_table": {"unique_id": "macro.dbt.snapshot_staging_table", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/dbt/include/global_project", "path": "macros/materializations/snapshot/snapshot.sql", "original_file_path": "macros/materializations/snapshot/snapshot.sql", "name": "snapshot_staging_table", "macro_sql": "{% macro 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": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "macro.dbt.build_snapshot_table": {"unique_id": "macro.dbt.build_snapshot_table", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/dbt/include/global_project", "path": "macros/materializations/snapshot/snapshot.sql", "original_file_path": "macros/materializations/snapshot/snapshot.sql", "name": "build_snapshot_table", "macro_sql": "{% macro 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": []}, "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.7/lib/python3.7/site-packages/dbt/include/global_project", "path": "macros/materializations/snapshot/snapshot.sql", "original_file_path": "macros/materializations/snapshot/snapshot.sql", "name": "get_or_create_relation", "macro_sql": "{% macro 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": []}, "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.7/lib/python3.7/site-packages/dbt/include/global_project", "path": "macros/materializations/snapshot/snapshot.sql", "original_file_path": "macros/materializations/snapshot/snapshot.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": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "macro.dbt.materialization_snapshot_default": {"unique_id": "macro.dbt.materialization_snapshot_default", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/dbt/include/global_project", "path": "macros/materializations/snapshot/snapshot.sql", "original_file_path": "macros/materializations/snapshot/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 {{ 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": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "macro.dbt.create_csv_table": {"unique_id": "macro.dbt.create_csv_table", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/dbt/include/global_project", "path": "macros/materializations/seed/seed.sql", "original_file_path": "macros/materializations/seed/seed.sql", "name": "create_csv_table", "macro_sql": "{% macro create_csv_table(model, agate_table) -%}\n {{ adapter.dispatch('create_csv_table')(model, agate_table) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "macro.dbt.reset_csv_table": {"unique_id": "macro.dbt.reset_csv_table", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/dbt/include/global_project", "path": "macros/materializations/seed/seed.sql", "original_file_path": "macros/materializations/seed/seed.sql", "name": "reset_csv_table", "macro_sql": "{% macro reset_csv_table(model, full_refresh, old_relation, agate_table) -%}\n {{ adapter.dispatch('reset_csv_table')(model, full_refresh, old_relation, agate_table) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "macro.dbt.load_csv_rows": {"unique_id": "macro.dbt.load_csv_rows", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/dbt/include/global_project", "path": "macros/materializations/seed/seed.sql", "original_file_path": "macros/materializations/seed/seed.sql", "name": "load_csv_rows", "macro_sql": "{% macro load_csv_rows(model, agate_table) -%}\n {{ adapter.dispatch('load_csv_rows')(model, agate_table) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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.7/lib/python3.7/site-packages/dbt/include/global_project", "path": "macros/materializations/seed/seed.sql", "original_file_path": "macros/materializations/seed/seed.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": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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.7/lib/python3.7/site-packages/dbt/include/global_project", "path": "macros/materializations/seed/seed.sql", "original_file_path": "macros/materializations/seed/seed.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": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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.7/lib/python3.7/site-packages/dbt/include/global_project", "path": "macros/materializations/seed/seed.sql", "original_file_path": "macros/materializations/seed/seed.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": []}, "macro.dbt.basic_load_csv_rows": {"unique_id": "macro.dbt.basic_load_csv_rows", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/dbt/include/global_project", "path": "macros/materializations/seed/seed.sql", "original_file_path": "macros/materializations/seed/seed.sql", "name": "basic_load_csv_rows", "macro_sql": "{% macro basic_load_csv_rows(model, batch_size, agate_table) %}\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 %s\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": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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.7/lib/python3.7/site-packages/dbt/include/global_project", "path": "macros/materializations/seed/seed.sql", "original_file_path": "macros/materializations/seed/seed.sql", "name": "default__load_csv_rows", "macro_sql": "{% macro default__load_csv_rows(model, agate_table) %}\n {{ return(basic_load_csv_rows(model, 10000, agate_table) )}}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "macro.dbt.materialization_seed_default": {"unique_id": "macro.dbt.materialization_seed_default", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/dbt/include/global_project", "path": "macros/materializations/seed/seed.sql", "original_file_path": "macros/materializations/seed/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 {{ 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": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "macro.dbt.incremental_upsert": {"unique_id": "macro.dbt.incremental_upsert", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/dbt/include/global_project", "path": "macros/materializations/incremental/helpers.sql", "original_file_path": "macros/materializations/incremental/helpers.sql", "name": "incremental_upsert", "macro_sql": "{% macro incremental_upsert(tmp_relation, target_relation, unique_key=none, statement_name=\"main\") %}\n {%- set dest_columns = adapter.get_columns_in_relation(target_relation) -%}\n {%- set dest_cols_csv = dest_columns | map(attribute='quoted') | join(', ') -%}\n\n {%- if unique_key is not none -%}\n delete\n from {{ target_relation }}\n where ({{ unique_key }}) in (\n select ({{ unique_key }})\n from {{ tmp_relation }}\n );\n {%- endif %}\n\n insert into {{ target_relation }} ({{ dest_cols_csv }})\n (\n select {{ dest_cols_csv }}\n from {{ tmp_relation }}\n );\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "macro.dbt.materialization_incremental_default": {"unique_id": "macro.dbt.materialization_incremental_default", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/dbt/include/global_project", "path": "macros/materializations/incremental/incremental.sql", "original_file_path": "macros/materializations/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(this) %}\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 {% if existing_relation is none %}\n {% set build_sql = create_table_as(False, target_relation, sql) %}\n {% elif existing_relation.is_view or should_full_refresh() %}\n {#-- Make sure the backup doesn't exist so we don't encounter issues with the rename below #}\n {% set backup_identifier = existing_relation.identifier ~ \"__dbt_backup\" %}\n {% set backup_relation = existing_relation.incorporate(path={\"identifier\": backup_identifier}) %}\n {% do adapter.drop_relation(backup_relation) %}\n\n {% do adapter.rename_relation(target_relation, backup_relation) %}\n {% set build_sql = create_table_as(False, target_relation, sql) %}\n {% do to_drop.append(backup_relation) %}\n {% else %}\n {% set tmp_relation = make_temp_relation(target_relation) %}\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 {% set build_sql = incremental_upsert(tmp_relation, target_relation, unique_key=unique_key) %}\n {% endif %}\n\n {% call statement(\"main\") %}\n {{ build_sql }}\n {% endcall %}\n\n {% do persist_docs(target_relation, model) %}\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": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "macro.dbt.get_merge_sql": {"unique_id": "macro.dbt.get_merge_sql", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/dbt/include/global_project", "path": "macros/materializations/common/merge.sql", "original_file_path": "macros/materializations/common/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')(target, source, unique_key, dest_columns, predicates) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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.7/lib/python3.7/site-packages/dbt/include/global_project", "path": "macros/materializations/common/merge.sql", "original_file_path": "macros/materializations/common/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')(target, source, unique_key, dest_columns) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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.7/lib/python3.7/site-packages/dbt/include/global_project", "path": "macros/materializations/common/merge.sql", "original_file_path": "macros/materializations/common/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')(target, source, dest_columns, predicates, include_sql_header) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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.7/lib/python3.7/site-packages/dbt/include/global_project", "path": "macros/materializations/common/merge.sql", "original_file_path": "macros/materializations/common/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 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 in dest_columns -%}\n {{ adapter.quote(column.name) }} = DBT_INTERNAL_SOURCE.{{ adapter.quote(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": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "macro.dbt.get_quoted_csv": {"unique_id": "macro.dbt.get_quoted_csv", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/dbt/include/global_project", "path": "macros/materializations/common/merge.sql", "original_file_path": "macros/materializations/common/merge.sql", "name": "get_quoted_csv", "macro_sql": "{% macro get_quoted_csv(column_names) %}\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{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "macro.dbt.common_get_delete_insert_merge_sql": {"unique_id": "macro.dbt.common_get_delete_insert_merge_sql", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/dbt/include/global_project", "path": "macros/materializations/common/merge.sql", "original_file_path": "macros/materializations/common/merge.sql", "name": "common_get_delete_insert_merge_sql", "macro_sql": "{% macro common_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": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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.7/lib/python3.7/site-packages/dbt/include/global_project", "path": "macros/materializations/common/merge.sql", "original_file_path": "macros/materializations/common/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 {{ common_get_delete_insert_merge_sql(target, source, unique_key, dest_columns) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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.7/lib/python3.7/site-packages/dbt/include/global_project", "path": "macros/materializations/common/merge.sql", "original_file_path": "macros/materializations/common/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": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "macro.dbt.materialization_table_default": {"unique_id": "macro.dbt.materialization_table_default", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/dbt/include/global_project", "path": "macros/materializations/table/table.sql", "original_file_path": "macros/materializations/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\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\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\n -- drop the temp relations if they exists for some reason\n {{ adapter.drop_relation(intermediate_relation) }}\n {{ adapter.drop_relation(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 {{ create_table_as(False, intermediate_relation, sql) }}\n {%- endcall %}\n\n -- cleanup\n {% if old_relation is not none %}\n {{ adapter.rename_relation(target_relation, backup_relation) }}\n {% endif %}\n\n {{ adapter.rename_relation(intermediate_relation, 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": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "macro.dbt.materialization_view_default": {"unique_id": "macro.dbt.materialization_view_default", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/dbt/include/global_project", "path": "macros/materializations/view/view.sql", "original_file_path": "macros/materializations/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\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\n {%- set exists_as_view = (old_relation is not none and old_relation.is_view) -%}\n\n {{ run_hooks(pre_hooks, inside_transaction=False) }}\n\n -- drop the temp relations if they exists for some reason\n {{ adapter.drop_relation(intermediate_relation) }}\n {{ adapter.drop_relation(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(target_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": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "macro.dbt.handle_existing_table": {"unique_id": "macro.dbt.handle_existing_table", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/dbt/include/global_project", "path": "macros/materializations/view/create_or_replace_view.sql", "original_file_path": "macros/materializations/view/create_or_replace_view.sql", "name": "handle_existing_table", "macro_sql": "{% macro handle_existing_table(full_refresh, old_relation) %}\n {{ adapter.dispatch(\"handle_existing_table\", packages=['dbt'])(full_refresh, old_relation) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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.7/lib/python3.7/site-packages/dbt/include/global_project", "path": "macros/materializations/view/create_or_replace_view.sql", "original_file_path": "macros/materializations/view/create_or_replace_view.sql", "name": "default__handle_existing_table", "macro_sql": "{% macro default__handle_existing_table(full_refresh, old_relation) %}\n {{ adapter.drop_relation(old_relation) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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.7/lib/python3.7/site-packages/dbt/include/global_project", "path": "macros/materializations/view/create_or_replace_view.sql", "original_file_path": "macros/materializations/view/create_or_replace_view.sql", "name": "create_or_replace_view", "macro_sql": "{% macro create_or_replace_view(run_outside_transaction_hooks=True) %}\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 {% if run_outside_transaction_hooks %}\n -- no transactions on BigQuery\n {{ run_hooks(pre_hooks, inside_transaction=False) }}\n {% endif %}\n\n -- `BEGIN` happens here on Snowflake\n {{ run_hooks(pre_hooks, inside_transaction=True) }}\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 {{ create_view_as(target_relation, sql) }}\n {%- endcall %}\n\n {{ run_hooks(post_hooks, inside_transaction=True) }}\n\n {{ adapter.commit() }}\n\n {% if run_outside_transaction_hooks %}\n -- No transactions on BigQuery\n {{ run_hooks(post_hooks, inside_transaction=False) }}\n {% endif %}\n\n {{ return({'relations': [target_relation]}) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "macro.dbt.generate_alias_name": {"unique_id": "macro.dbt.generate_alias_name", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/dbt/include/global_project", "path": "macros/etc/get_custom_alias.sql", "original_file_path": "macros/etc/get_custom_alias.sql", "name": "generate_alias_name", "macro_sql": "{% macro 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": []}, "macro.dbt.run_query": {"unique_id": "macro.dbt.run_query", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/dbt/include/global_project", "path": "macros/etc/query.sql", "original_file_path": "macros/etc/query.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": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "macro.dbt.is_incremental": {"unique_id": "macro.dbt.is_incremental", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/dbt/include/global_project", "path": "macros/etc/is_incremental.sql", "original_file_path": "macros/etc/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": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "macro.dbt.convert_datetime": {"unique_id": "macro.dbt.convert_datetime", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/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": []}, "macro.dbt.dates_in_range": {"unique_id": "macro.dbt.dates_in_range", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/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": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "macro.dbt.partition_range": {"unique_id": "macro.dbt.partition_range", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/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": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "macro.dbt.py_current_timestring": {"unique_id": "macro.dbt.py_current_timestring", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/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": []}, "macro.dbt.generate_schema_name": {"unique_id": "macro.dbt.generate_schema_name", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/dbt/include/global_project", "path": "macros/etc/get_custom_schema.sql", "original_file_path": "macros/etc/get_custom_schema.sql", "name": "generate_schema_name", "macro_sql": "{% macro 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": []}, "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.7/lib/python3.7/site-packages/dbt/include/global_project", "path": "macros/etc/get_custom_schema.sql", "original_file_path": "macros/etc/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": []}, "macro.dbt.generate_database_name": {"unique_id": "macro.dbt.generate_database_name", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/dbt/include/global_project", "path": "macros/etc/get_custom_database.sql", "original_file_path": "macros/etc/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')(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": []}, "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.7/lib/python3.7/site-packages/dbt/include/global_project", "path": "macros/etc/get_custom_database.sql", "original_file_path": "macros/etc/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": []}, "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.7/lib/python3.7/site-packages/dbt/include/global_project", "path": "macros/adapters/common.sql", "original_file_path": "macros/adapters/common.sql", "name": "get_columns_in_query", "macro_sql": "{% macro get_columns_in_query(select_sql) -%}\n {{ return(adapter.dispatch('get_columns_in_query')(select_sql)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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.7/lib/python3.7/site-packages/dbt/include/global_project", "path": "macros/adapters/common.sql", "original_file_path": "macros/adapters/common.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": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "macro.dbt.create_schema": {"unique_id": "macro.dbt.create_schema", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/dbt/include/global_project", "path": "macros/adapters/common.sql", "original_file_path": "macros/adapters/common.sql", "name": "create_schema", "macro_sql": "{% macro create_schema(relation) -%}\n {{ adapter.dispatch('create_schema')(relation) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "macro.dbt.default__create_schema": {"unique_id": "macro.dbt.default__create_schema", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/dbt/include/global_project", "path": "macros/adapters/common.sql", "original_file_path": "macros/adapters/common.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": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "macro.dbt.drop_schema": {"unique_id": "macro.dbt.drop_schema", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/dbt/include/global_project", "path": "macros/adapters/common.sql", "original_file_path": "macros/adapters/common.sql", "name": "drop_schema", "macro_sql": "{% macro drop_schema(relation) -%}\n {{ adapter.dispatch('drop_schema')(relation) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "macro.dbt.default__drop_schema": {"unique_id": "macro.dbt.default__drop_schema", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/dbt/include/global_project", "path": "macros/adapters/common.sql", "original_file_path": "macros/adapters/common.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": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "macro.dbt.create_table_as": {"unique_id": "macro.dbt.create_table_as", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/dbt/include/global_project", "path": "macros/adapters/common.sql", "original_file_path": "macros/adapters/common.sql", "name": "create_table_as", "macro_sql": "{% macro create_table_as(temporary, relation, sql) -%}\n {{ adapter.dispatch('create_table_as')(temporary, relation, sql) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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.7/lib/python3.7/site-packages/dbt/include/global_project", "path": "macros/adapters/common.sql", "original_file_path": "macros/adapters/common.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\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "macro.dbt.create_view_as": {"unique_id": "macro.dbt.create_view_as", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/dbt/include/global_project", "path": "macros/adapters/common.sql", "original_file_path": "macros/adapters/common.sql", "name": "create_view_as", "macro_sql": "{% macro create_view_as(relation, sql) -%}\n {{ adapter.dispatch('create_view_as')(relation, sql) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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.7/lib/python3.7/site-packages/dbt/include/global_project", "path": "macros/adapters/common.sql", "original_file_path": "macros/adapters/common.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": []}, "macro.dbt.get_catalog": {"unique_id": "macro.dbt.get_catalog", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/dbt/include/global_project", "path": "macros/adapters/common.sql", "original_file_path": "macros/adapters/common.sql", "name": "get_catalog", "macro_sql": "{% macro get_catalog(information_schema, schemas) -%}\n {{ return(adapter.dispatch('get_catalog')(information_schema, schemas)) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_bigquery.bigquery__get_catalog"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "macro.dbt.default__get_catalog": {"unique_id": "macro.dbt.default__get_catalog", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/dbt/include/global_project", "path": "macros/adapters/common.sql", "original_file_path": "macros/adapters/common.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": []}, "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.7/lib/python3.7/site-packages/dbt/include/global_project", "path": "macros/adapters/common.sql", "original_file_path": "macros/adapters/common.sql", "name": "get_columns_in_relation", "macro_sql": "{% macro get_columns_in_relation(relation) -%}\n {{ return(adapter.dispatch('get_columns_in_relation')(relation)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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.7/lib/python3.7/site-packages/dbt/include/global_project", "path": "macros/adapters/common.sql", "original_file_path": "macros/adapters/common.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": []}, "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.7/lib/python3.7/site-packages/dbt/include/global_project", "path": "macros/adapters/common.sql", "original_file_path": "macros/adapters/common.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": []}, "macro.dbt.alter_column_type": {"unique_id": "macro.dbt.alter_column_type", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/dbt/include/global_project", "path": "macros/adapters/common.sql", "original_file_path": "macros/adapters/common.sql", "name": "alter_column_type", "macro_sql": "{% macro alter_column_type(relation, column_name, new_column_type) -%}\n {{ return(adapter.dispatch('alter_column_type')(relation, column_name, new_column_type)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "macro.dbt.alter_column_comment": {"unique_id": "macro.dbt.alter_column_comment", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/dbt/include/global_project", "path": "macros/adapters/common.sql", "original_file_path": "macros/adapters/common.sql", "name": "alter_column_comment", "macro_sql": "{% macro alter_column_comment(relation, column_dict) -%}\n {{ return(adapter.dispatch('alter_column_comment')(relation, column_dict)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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.7/lib/python3.7/site-packages/dbt/include/global_project", "path": "macros/adapters/common.sql", "original_file_path": "macros/adapters/common.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": []}, "macro.dbt.alter_relation_comment": {"unique_id": "macro.dbt.alter_relation_comment", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/dbt/include/global_project", "path": "macros/adapters/common.sql", "original_file_path": "macros/adapters/common.sql", "name": "alter_relation_comment", "macro_sql": "{% macro alter_relation_comment(relation, relation_comment) -%}\n {{ return(adapter.dispatch('alter_relation_comment')(relation, relation_comment)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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.7/lib/python3.7/site-packages/dbt/include/global_project", "path": "macros/adapters/common.sql", "original_file_path": "macros/adapters/common.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": []}, "macro.dbt.persist_docs": {"unique_id": "macro.dbt.persist_docs", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/dbt/include/global_project", "path": "macros/adapters/common.sql", "original_file_path": "macros/adapters/common.sql", "name": "persist_docs", "macro_sql": "{% macro persist_docs(relation, model, for_relation=true, for_columns=true) -%}\n {{ return(adapter.dispatch('persist_docs')(relation, model, for_relation, for_columns)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "macro.dbt.default__persist_docs": {"unique_id": "macro.dbt.default__persist_docs", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/dbt/include/global_project", "path": "macros/adapters/common.sql", "original_file_path": "macros/adapters/common.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": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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.7/lib/python3.7/site-packages/dbt/include/global_project", "path": "macros/adapters/common.sql", "original_file_path": "macros/adapters/common.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": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "macro.dbt.drop_relation": {"unique_id": "macro.dbt.drop_relation", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/dbt/include/global_project", "path": "macros/adapters/common.sql", "original_file_path": "macros/adapters/common.sql", "name": "drop_relation", "macro_sql": "{% macro drop_relation(relation) -%}\n {{ return(adapter.dispatch('drop_relation')(relation)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "macro.dbt.default__drop_relation": {"unique_id": "macro.dbt.default__drop_relation", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/dbt/include/global_project", "path": "macros/adapters/common.sql", "original_file_path": "macros/adapters/common.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": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "macro.dbt.truncate_relation": {"unique_id": "macro.dbt.truncate_relation", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/dbt/include/global_project", "path": "macros/adapters/common.sql", "original_file_path": "macros/adapters/common.sql", "name": "truncate_relation", "macro_sql": "{% macro truncate_relation(relation) -%}\n {{ return(adapter.dispatch('truncate_relation')(relation)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "macro.dbt.default__truncate_relation": {"unique_id": "macro.dbt.default__truncate_relation", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/dbt/include/global_project", "path": "macros/adapters/common.sql", "original_file_path": "macros/adapters/common.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": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "macro.dbt.rename_relation": {"unique_id": "macro.dbt.rename_relation", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/dbt/include/global_project", "path": "macros/adapters/common.sql", "original_file_path": "macros/adapters/common.sql", "name": "rename_relation", "macro_sql": "{% macro rename_relation(from_relation, to_relation) -%}\n {{ return(adapter.dispatch('rename_relation')(from_relation, to_relation)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "macro.dbt.default__rename_relation": {"unique_id": "macro.dbt.default__rename_relation", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/dbt/include/global_project", "path": "macros/adapters/common.sql", "original_file_path": "macros/adapters/common.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": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "macro.dbt.information_schema_name": {"unique_id": "macro.dbt.information_schema_name", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/dbt/include/global_project", "path": "macros/adapters/common.sql", "original_file_path": "macros/adapters/common.sql", "name": "information_schema_name", "macro_sql": "{% macro information_schema_name(database) %}\n {{ return(adapter.dispatch('information_schema_name')(database)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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.7/lib/python3.7/site-packages/dbt/include/global_project", "path": "macros/adapters/common.sql", "original_file_path": "macros/adapters/common.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": []}, "macro.dbt.list_schemas": {"unique_id": "macro.dbt.list_schemas", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/dbt/include/global_project", "path": "macros/adapters/common.sql", "original_file_path": "macros/adapters/common.sql", "name": "list_schemas", "macro_sql": "{% macro list_schemas(database) -%}\n {{ return(adapter.dispatch('list_schemas')(database)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "macro.dbt.default__list_schemas": {"unique_id": "macro.dbt.default__list_schemas", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/dbt/include/global_project", "path": "macros/adapters/common.sql", "original_file_path": "macros/adapters/common.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": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "macro.dbt.check_schema_exists": {"unique_id": "macro.dbt.check_schema_exists", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/dbt/include/global_project", "path": "macros/adapters/common.sql", "original_file_path": "macros/adapters/common.sql", "name": "check_schema_exists", "macro_sql": "{% macro check_schema_exists(information_schema, schema) -%}\n {{ return(adapter.dispatch('check_schema_exists')(information_schema, schema)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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.7/lib/python3.7/site-packages/dbt/include/global_project", "path": "macros/adapters/common.sql", "original_file_path": "macros/adapters/common.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": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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.7/lib/python3.7/site-packages/dbt/include/global_project", "path": "macros/adapters/common.sql", "original_file_path": "macros/adapters/common.sql", "name": "list_relations_without_caching", "macro_sql": "{% macro list_relations_without_caching(schema_relation) %}\n {{ return(adapter.dispatch('list_relations_without_caching')(schema_relation)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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.7/lib/python3.7/site-packages/dbt/include/global_project", "path": "macros/adapters/common.sql", "original_file_path": "macros/adapters/common.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": []}, "macro.dbt.current_timestamp": {"unique_id": "macro.dbt.current_timestamp", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/dbt/include/global_project", "path": "macros/adapters/common.sql", "original_file_path": "macros/adapters/common.sql", "name": "current_timestamp", "macro_sql": "{% macro current_timestamp() -%}\n {{ adapter.dispatch('current_timestamp')() }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "macro.dbt.default__current_timestamp": {"unique_id": "macro.dbt.default__current_timestamp", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/dbt/include/global_project", "path": "macros/adapters/common.sql", "original_file_path": "macros/adapters/common.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": []}, "macro.dbt.collect_freshness": {"unique_id": "macro.dbt.collect_freshness", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/dbt/include/global_project", "path": "macros/adapters/common.sql", "original_file_path": "macros/adapters/common.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": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "macro.dbt.default__collect_freshness": {"unique_id": "macro.dbt.default__collect_freshness", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/dbt/include/global_project", "path": "macros/adapters/common.sql", "original_file_path": "macros/adapters/common.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": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "macro.dbt.make_temp_relation": {"unique_id": "macro.dbt.make_temp_relation", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/dbt/include/global_project", "path": "macros/adapters/common.sql", "original_file_path": "macros/adapters/common.sql", "name": "make_temp_relation", "macro_sql": "{% macro make_temp_relation(base_relation, suffix='__dbt_tmp') %}\n {{ return(adapter.dispatch('make_temp_relation')(base_relation, suffix))}}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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.7/lib/python3.7/site-packages/dbt/include/global_project", "path": "macros/adapters/common.sql", "original_file_path": "macros/adapters/common.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": []}, "macro.dbt.set_sql_header": {"unique_id": "macro.dbt.set_sql_header", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/dbt/include/global_project", "path": "macros/adapters/common.sql", "original_file_path": "macros/adapters/common.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": []}, "macro.dbt.default__test_relationships": {"unique_id": "macro.dbt.default__test_relationships", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/dbt/include/global_project", "path": "macros/schema_tests/relationships.sql", "original_file_path": "macros/schema_tests/relationships.sql", "name": "default__test_relationships", "macro_sql": "{% macro default__test_relationships(model, to, field) %}\n\n{% set column_name = kwargs.get('column_name', kwargs.get('from')) %}\n\n\nselect count(*) as validation_errors\nfrom (\n select {{ column_name }} as id from {{ model }}\n) as child\nleft join (\n select {{ field }} as id from {{ to }}\n) as parent on parent.id = child.id\nwhere child.id is not null\n and parent.id is null\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "macro.dbt.test_relationships": {"unique_id": "macro.dbt.test_relationships", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/dbt/include/global_project", "path": "macros/schema_tests/relationships.sql", "original_file_path": "macros/schema_tests/relationships.sql", "name": "test_relationships", "macro_sql": "{% macro test_relationships(model, to, field) %}\n {% set macro = adapter.dispatch('test_relationships') %}\n {{ macro(model, to, field, **kwargs) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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.7/lib/python3.7/site-packages/dbt/include/global_project", "path": "macros/schema_tests/not_null.sql", "original_file_path": "macros/schema_tests/not_null.sql", "name": "default__test_not_null", "macro_sql": "{% macro default__test_not_null(model) %}\n\n{% set column_name = kwargs.get('column_name', kwargs.get('arg')) %}\n\nselect count(*) as validation_errors\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": []}, "macro.dbt.test_not_null": {"unique_id": "macro.dbt.test_not_null", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/dbt/include/global_project", "path": "macros/schema_tests/not_null.sql", "original_file_path": "macros/schema_tests/not_null.sql", "name": "test_not_null", "macro_sql": "{% macro test_not_null(model) %}\n {% set macro = adapter.dispatch('test_not_null') %}\n {{ macro(model, **kwargs) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "macro.dbt.default__test_unique": {"unique_id": "macro.dbt.default__test_unique", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/dbt/include/global_project", "path": "macros/schema_tests/unique.sql", "original_file_path": "macros/schema_tests/unique.sql", "name": "default__test_unique", "macro_sql": "{% macro default__test_unique(model) %}\n\n{% set column_name = kwargs.get('column_name', kwargs.get('arg')) %}\n\nselect count(*) as validation_errors\nfrom (\n\n select\n {{ column_name }}\n\n from {{ model }}\n where {{ column_name }} is not null\n group by {{ column_name }}\n having count(*) > 1\n\n) validation_errors\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "macro.dbt.test_unique": {"unique_id": "macro.dbt.test_unique", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/dbt/include/global_project", "path": "macros/schema_tests/unique.sql", "original_file_path": "macros/schema_tests/unique.sql", "name": "test_unique", "macro_sql": "{% macro test_unique(model) %}\n {% set macro = adapter.dispatch('test_unique') %}\n {{ macro(model, **kwargs) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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.7/lib/python3.7/site-packages/dbt/include/global_project", "path": "macros/schema_tests/accepted_values.sql", "original_file_path": "macros/schema_tests/accepted_values.sql", "name": "default__test_accepted_values", "macro_sql": "{% macro default__test_accepted_values(model, values) %}\n\n{% set column_name = kwargs.get('column_name', kwargs.get('field')) %}\n{% set quote_values = kwargs.get('quote', True) %}\n\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 not in (\n {% for value in values -%}\n {% if quote_values -%}\n '{{ value }}'\n {%- else -%}\n {{ value }}\n {%- endif -%}\n {%- if not loop.last -%},{%- endif %}\n {%- endfor %}\n )\n)\n\nselect count(*) as validation_errors\nfrom validation_errors\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "macro.dbt.test_accepted_values": {"unique_id": "macro.dbt.test_accepted_values", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/dbt/include/global_project", "path": "macros/schema_tests/accepted_values.sql", "original_file_path": "macros/schema_tests/accepted_values.sql", "name": "test_accepted_values", "macro_sql": "{% macro test_accepted_values(model, values) %}\n {% set macro = adapter.dispatch('test_accepted_values') %}\n {{ macro(model, values, **kwargs) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "macro.dbt_utils.except": {"unique_id": "macro.dbt_utils.except", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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', packages = dbt_utils._get_utils_namespaces())()) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "macro.dbt_utils.default__except": {"unique_id": "macro.dbt_utils.default__except", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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": []}, "macro.dbt_utils.bigquery__except": {"unique_id": "macro.dbt_utils.bigquery__except", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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": []}, "macro.dbt_utils.replace": {"unique_id": "macro.dbt_utils.replace", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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', packages = dbt_utils._get_utils_namespaces()) (field, old_chars, new_chars)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "macro.dbt_utils.default__replace": {"unique_id": "macro.dbt_utils.default__replace", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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": []}, "macro.dbt_utils.concat": {"unique_id": "macro.dbt_utils.concat", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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', packages = dbt_utils._get_utils_namespaces())(fields)) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "macro.dbt_utils.default__concat": {"unique_id": "macro.dbt_utils.default__concat", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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 concat({{ fields|join(', ') }})\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "macro.dbt_utils.alternative_concat": {"unique_id": "macro.dbt_utils.alternative_concat", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/dbt_utils", "path": "macros/cross_db_utils/concat.sql", "original_file_path": "macros/cross_db_utils/concat.sql", "name": "alternative_concat", "macro_sql": "{% macro alternative_concat(fields) %}\n {{ fields|join(' || ') }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "macro.dbt_utils.redshift__concat": {"unique_id": "macro.dbt_utils.redshift__concat", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/dbt_utils", "path": "macros/cross_db_utils/concat.sql", "original_file_path": "macros/cross_db_utils/concat.sql", "name": "redshift__concat", "macro_sql": "{% macro redshift__concat(fields) %}\n {{ dbt_utils.alternative_concat(fields) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "macro.dbt_utils.snowflake__concat": {"unique_id": "macro.dbt_utils.snowflake__concat", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/dbt_utils", "path": "macros/cross_db_utils/concat.sql", "original_file_path": "macros/cross_db_utils/concat.sql", "name": "snowflake__concat", "macro_sql": "{% macro snowflake__concat(fields) %}\n {{ dbt_utils.alternative_concat(fields) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "macro.dbt_utils.type_string": {"unique_id": "macro.dbt_utils.type_string", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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', packages = dbt_utils._get_utils_namespaces())()) }}\n{%- endmacro -%}\n\n", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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": []}, "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/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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": []}, "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/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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": []}, "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/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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": []}, "macro.dbt_utils.type_timestamp": {"unique_id": "macro.dbt_utils.type_timestamp", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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', packages = dbt_utils._get_utils_namespaces())()) }}\n{%- endmacro -%}\n\n", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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": []}, "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/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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": []}, "macro.dbt_utils.type_float": {"unique_id": "macro.dbt_utils.type_float", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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', packages = dbt_utils._get_utils_namespaces())()) }}\n{%- endmacro -%}\n\n", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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": []}, "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/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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": []}, "macro.dbt_utils.type_numeric": {"unique_id": "macro.dbt_utils.type_numeric", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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', packages = dbt_utils._get_utils_namespaces())()) }}\n{%- endmacro -%}\n\n", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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": []}, "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/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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": []}, "macro.dbt_utils.type_bigint": {"unique_id": "macro.dbt_utils.type_bigint", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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', packages = dbt_utils._get_utils_namespaces())()) }}\n{%- endmacro -%}\n\n", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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": []}, "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/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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": []}, "macro.dbt_utils.type_int": {"unique_id": "macro.dbt_utils.type_int", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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', packages = dbt_utils._get_utils_namespaces())()) }}\n{%- endmacro -%}\n\n", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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": []}, "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/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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": []}, "macro.dbt_utils._is_relation": {"unique_id": "macro.dbt_utils._is_relation", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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": []}, "macro.dbt_utils.length": {"unique_id": "macro.dbt_utils.length", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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', packages = dbt_utils._get_utils_namespaces()) (expression)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "macro.dbt_utils.default__length": {"unique_id": "macro.dbt_utils.default__length", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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": []}, "macro.dbt_utils.redshift__length": {"unique_id": "macro.dbt_utils.redshift__length", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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": []}, "macro.dbt_utils.dateadd": {"unique_id": "macro.dbt_utils.dateadd", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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', packages = dbt_utils._get_utils_namespaces())(datepart, interval, from_date_or_timestamp)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "macro.dbt_utils.default__dateadd": {"unique_id": "macro.dbt_utils.default__dateadd", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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": []}, "macro.dbt_utils.bigquery__dateadd": {"unique_id": "macro.dbt_utils.bigquery__dateadd", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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": []}, "macro.dbt_utils.postgres__dateadd": {"unique_id": "macro.dbt_utils.postgres__dateadd", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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": []}, "macro.dbt_utils.intersect": {"unique_id": "macro.dbt_utils.intersect", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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', packages = dbt_utils._get_utils_namespaces())()) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "macro.dbt_utils.default__intersect": {"unique_id": "macro.dbt_utils.default__intersect", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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": []}, "macro.dbt_utils.bigquery__intersect": {"unique_id": "macro.dbt_utils.bigquery__intersect", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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": []}, "macro.dbt_utils.right": {"unique_id": "macro.dbt_utils.right", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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', packages = dbt_utils._get_utils_namespaces()) (string_text, length_expression)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "macro.dbt_utils.default__right": {"unique_id": "macro.dbt_utils.default__right", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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": []}, "macro.dbt_utils.bigquery__right": {"unique_id": "macro.dbt_utils.bigquery__right", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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": []}, "macro.dbt_utils.snowflake__right": {"unique_id": "macro.dbt_utils.snowflake__right", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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": []}, "macro.dbt_utils.datediff": {"unique_id": "macro.dbt_utils.datediff", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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', packages = dbt_utils._get_utils_namespaces())(first_date, second_date, datepart)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "macro.dbt_utils.default__datediff": {"unique_id": "macro.dbt_utils.default__datediff", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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": []}, "macro.dbt_utils.bigquery__datediff": {"unique_id": "macro.dbt_utils.bigquery__datediff", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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": []}, "macro.dbt_utils.postgres__datediff": {"unique_id": "macro.dbt_utils.postgres__datediff", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "macro.dbt_utils.safe_cast": {"unique_id": "macro.dbt_utils.safe_cast", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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', packages = dbt_utils._get_utils_namespaces()) (field, type)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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": []}, "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/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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": []}, "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/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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": []}, "macro.dbt_utils.hash": {"unique_id": "macro.dbt_utils.hash", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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', packages = dbt_utils._get_utils_namespaces()) (field)) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "macro.dbt_utils.default__hash": {"unique_id": "macro.dbt_utils.default__hash", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "macro.dbt_utils.bigquery__hash": {"unique_id": "macro.dbt_utils.bigquery__hash", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "macro.dbt_utils.identifier": {"unique_id": "macro.dbt_utils.identifier", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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', packages = dbt_utils._get_utils_namespaces()) (value)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "macro.dbt_utils.default__identifier": {"unique_id": "macro.dbt_utils.default__identifier", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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": []}, "macro.dbt_utils.bigquery__identifier": {"unique_id": "macro.dbt_utils.bigquery__identifier", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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": []}, "macro.dbt_utils.position": {"unique_id": "macro.dbt_utils.position", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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', packages = dbt_utils._get_utils_namespaces()) (substring_text, string_text)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "macro.dbt_utils.default__position": {"unique_id": "macro.dbt_utils.default__position", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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": []}, "macro.dbt_utils.bigquery__position": {"unique_id": "macro.dbt_utils.bigquery__position", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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": []}, "macro.dbt_utils.string_literal": {"unique_id": "macro.dbt_utils.string_literal", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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', packages = dbt_utils._get_utils_namespaces()) (value)) }}\n{%- endmacro -%}\n\n", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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": []}, "macro.dbt_utils.current_timestamp": {"unique_id": "macro.dbt_utils.current_timestamp", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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', packages = dbt_utils._get_utils_namespaces())()) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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": []}, "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/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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": []}, "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/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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', packages = dbt_utils._get_utils_namespaces())()) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "macro.dbt_utils.width_bucket": {"unique_id": "macro.dbt_utils.width_bucket", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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', packages = dbt_utils._get_utils_namespaces()) (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": []}, "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/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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": []}, "macro.dbt_utils._get_utils_namespaces": {"unique_id": "macro.dbt_utils._get_utils_namespaces", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/dbt_utils", "path": "macros/cross_db_utils/_get_utils_namespaces.sql", "original_file_path": "macros/cross_db_utils/_get_utils_namespaces.sql", "name": "_get_utils_namespaces", "macro_sql": "{% macro _get_utils_namespaces() %}\n {% set override_namespaces = var('dbt_utils_dispatch_list', []) %}\n {% do return(override_namespaces + ['dbt_utils']) %}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "macro.dbt_utils.last_day": {"unique_id": "macro.dbt_utils.last_day", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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', packages = dbt_utils._get_utils_namespaces()) (date, datepart)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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 {{ exceptions.raise_compiler_error(\n \"dbt_utils.last_day is not supported for datepart 'quarter' on this adapter\") }}\n {%- else -%}\n {{dbt_utils.default_last_day(date, datepart)}}\n {%- endif -%}\n\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "macro.dbt_utils.split_part": {"unique_id": "macro.dbt_utils.split_part", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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', packages = dbt_utils._get_utils_namespaces()) (string_text, delimiter_text, part_number)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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": []}, "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/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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 split(\n {{ string_text }},\n {{ delimiter_text }}\n )[safe_offset({{ part_number - 1 }})]\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "macro.dbt_utils.date_trunc": {"unique_id": "macro.dbt_utils.date_trunc", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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', packages = dbt_utils._get_utils_namespaces()) (datepart, date)) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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": []}, "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/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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": []}, "macro.dbt_utils._is_ephemeral": {"unique_id": "macro.dbt_utils._is_ephemeral", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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": []}, "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/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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', packages = dbt_utils._get_utils_namespaces())(target_schema, target_table, timestamp_field, start_date, stop_date, period)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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', packages = dbt_utils._get_utils_namespaces())(target_cols_csv, sql, timestamp_field, period, start_timestamp, stop_timestamp, offset)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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": []}, "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/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/dbt_utils", "path": "macros/logger/pretty_log_format.sql", "original_file_path": "macros/logger/pretty_log_format.sql", "name": "pretty_log_format", "macro_sql": "{% macro pretty_log_format(message) %}\n {{ return(adapter.dispatch('pretty_log_format', packages = dbt_utils._get_utils_namespaces())(message)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/dbt_utils", "path": "macros/logger/pretty_log_format.sql", "original_file_path": "macros/logger/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": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "macro.dbt_utils.pretty_time": {"unique_id": "macro.dbt_utils.pretty_time", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/dbt_utils", "path": "macros/logger/pretty_time.sql", "original_file_path": "macros/logger/pretty_time.sql", "name": "pretty_time", "macro_sql": "{% macro pretty_time(format='%H:%M:%S') %}\n {{ return(adapter.dispatch('pretty_time', packages = dbt_utils._get_utils_namespaces())(format)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/dbt_utils", "path": "macros/logger/pretty_time.sql", "original_file_path": "macros/logger/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": []}, "macro.dbt_utils.log_info": {"unique_id": "macro.dbt_utils.log_info", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/dbt_utils", "path": "macros/logger/log_info.sql", "original_file_path": "macros/logger/log_info.sql", "name": "log_info", "macro_sql": "{% macro log_info(message) %}\n {{ return(adapter.dispatch('log_info', packages = dbt_utils._get_utils_namespaces())(message)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/dbt_utils", "path": "macros/logger/log_info.sql", "original_file_path": "macros/logger/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": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/dbt_utils", "path": "macros/datetime/date_spine.sql", "original_file_path": "macros/datetime/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', packages = dbt_utils._get_utils_namespaces())(start_date, end_date, datepart)) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/dbt_utils", "path": "macros/datetime/date_spine.sql", "original_file_path": "macros/datetime/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": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "macro.dbt_utils.date_spine": {"unique_id": "macro.dbt_utils.date_spine", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/dbt_utils", "path": "macros/datetime/date_spine.sql", "original_file_path": "macros/datetime/date_spine.sql", "name": "date_spine", "macro_sql": "{% macro date_spine(datepart, start_date, end_date) %}\n {{ return(adapter.dispatch('date_spine', packages = dbt_utils._get_utils_namespaces())(datepart, start_date, end_date)) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/dbt_utils", "path": "macros/datetime/date_spine.sql", "original_file_path": "macros/datetime/date_spine.sql", "name": "default__date_spine", "macro_sql": "{% macro default__date_spine(datepart, start_date, end_date) %}\n\n/*\ncall 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*/\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": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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', packages = dbt_utils._get_utils_namespaces())(field)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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(field, \"'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\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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', packages = dbt_utils._get_utils_namespaces())(field)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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', packages = dbt_utils._get_utils_namespaces())(field, url_parameter)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "macro.dbt_utils.haversine_distance": {"unique_id": "macro.dbt_utils.haversine_distance", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/dbt_utils", "path": "macros/geo/haversine_distance.sql", "original_file_path": "macros/geo/haversine_distance.sql", "name": "haversine_distance", "macro_sql": "{% macro haversine_distance(lat1,lon1,lat2,lon2) -%}\n {{ return(adapter.dispatch('haversine_distance', packages = dbt_utils._get_utils_namespaces())(lat1,lon1,lat2,lon2)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/dbt_utils", "path": "macros/geo/haversine_distance.sql", "original_file_path": "macros/geo/haversine_distance.sql", "name": "default__haversine_distance", "macro_sql": "{% macro default__haversine_distance(lat1,lon1,lat2,lon2) -%}\n\n 2 * 3961 * asin(sqrt((sin(radians(({{lat2}} - {{lat1}}) / 2))) ^ 2 +\n cos(radians({{lat1}})) * cos(radians({{lat2}})) *\n (sin(radians(({{lon2}} - {{lon1}}) / 2))) ^ 2))\n\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/dbt_utils", "path": "macros/schema_tests/equal_rowcount.sql", "original_file_path": "macros/schema_tests/equal_rowcount.sql", "name": "test_equal_rowcount", "macro_sql": "{% macro test_equal_rowcount(model) %}\n {{ return(adapter.dispatch('test_equal_rowcount', packages = dbt_utils._get_utils_namespaces())(model, **kwargs)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/dbt_utils", "path": "macros/schema_tests/equal_rowcount.sql", "original_file_path": "macros/schema_tests/equal_rowcount.sql", "name": "default__test_equal_rowcount", "macro_sql": "{% macro default__test_equal_rowcount(model) %}\n\n{% set compare_model = kwargs.get('compare_model', kwargs.get('arg')) %}\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 abs(\n (select count_a from a) -\n (select count_b from b)\n )\n as diff_count\n\n)\n\nselect diff_count from final\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/dbt_utils", "path": "macros/schema_tests/relationships_where.sql", "original_file_path": "macros/schema_tests/relationships_where.sql", "name": "test_relationships_where", "macro_sql": "{% macro test_relationships_where(model, to, field) %}\n {{ return(adapter.dispatch('test_relationships_where', packages = dbt_utils._get_utils_namespaces())(model, to, field, **kwargs)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/dbt_utils", "path": "macros/schema_tests/relationships_where.sql", "original_file_path": "macros/schema_tests/relationships_where.sql", "name": "default__test_relationships_where", "macro_sql": "{% macro default__test_relationships_where(model, to, field) %}\n\n{% set column_name = kwargs.get('column_name', kwargs.get('from')) %}\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{% set from_condition = kwargs.get('from_condition', \"1=1\") %}\n{% set to_condition = kwargs.get('to_condition', \"1=1\") %}\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 count(*) from exceptions\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "macro.dbt_utils.test_recency": {"unique_id": "macro.dbt_utils.test_recency", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/dbt_utils", "path": "macros/schema_tests/recency.sql", "original_file_path": "macros/schema_tests/recency.sql", "name": "test_recency", "macro_sql": "{% macro test_recency(model, datepart, interval) %}\n {{ return(adapter.dispatch('test_recency', packages = dbt_utils._get_utils_namespaces())(model, datepart, interval, **kwargs)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/dbt_utils", "path": "macros/schema_tests/recency.sql", "original_file_path": "macros/schema_tests/recency.sql", "name": "default__test_recency", "macro_sql": "{% macro default__test_recency(model, datepart, interval) %}\n\n{% set column_name = kwargs.get('column_name', kwargs.get('field')) %}\n\nselect\n case when count(*) > 0 then 0\n else 1\n end as error_result\nfrom {{model}}\nwhere {{column_name}} >=\n {{dbt_utils.dateadd(datepart, interval * -1, dbt_utils.current_timestamp())}}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/dbt_utils", "path": "macros/schema_tests/not_constant.sql", "original_file_path": "macros/schema_tests/not_constant.sql", "name": "test_not_constant", "macro_sql": "{% macro test_not_constant(model) %}\n {{ return(adapter.dispatch('test_not_constant', packages = dbt_utils._get_utils_namespaces())(model, **kwargs)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/dbt_utils", "path": "macros/schema_tests/not_constant.sql", "original_file_path": "macros/schema_tests/not_constant.sql", "name": "default__test_not_constant", "macro_sql": "{% macro default__test_not_constant(model) %}\n\n{% set column_name = kwargs.get('column_name', kwargs.get('arg')) %}\n\nselect count(*)\n\nfrom (\n\n select\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\n from {{ model }}\n\n having count(distinct {{ column_name }}) = 1\n\n ) validation_errors\n\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/dbt_utils", "path": "macros/schema_tests/test_unique_where.sql", "original_file_path": "macros/schema_tests/test_unique_where.sql", "name": "test_unique_where", "macro_sql": "{% macro test_unique_where(model) %}\r\n {{ return(adapter.dispatch('test_unique_where', packages = dbt_utils._get_utils_namespaces())(model, **kwargs)) }}\r\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/dbt_utils", "path": "macros/schema_tests/test_unique_where.sql", "original_file_path": "macros/schema_tests/test_unique_where.sql", "name": "default__test_unique_where", "macro_sql": "{% macro default__test_unique_where(model) %}\r\n\r\n{% set column_name = kwargs.get('column_name', kwargs.get('arg')) %}\r\n{% set where = kwargs.get('where', kwargs.get('arg')) %}\r\n\r\nselect count(*)\r\nfrom (\r\n\r\n select\r\n {{ column_name }}\r\n\r\n from {{ model }}\r\n where {{ column_name }} is not null\r\n {% if where %} and {{ where }} {% endif %}\r\n group by {{ column_name }}\r\n having count(*) > 1\r\n\r\n) validation_errors\r\n\r\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/dbt_utils", "path": "macros/schema_tests/at_least_one.sql", "original_file_path": "macros/schema_tests/at_least_one.sql", "name": "test_at_least_one", "macro_sql": "{% macro test_at_least_one(model) %}\n {{ return(adapter.dispatch('test_at_least_one', packages = dbt_utils._get_utils_namespaces())(model, **kwargs)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/dbt_utils", "path": "macros/schema_tests/at_least_one.sql", "original_file_path": "macros/schema_tests/at_least_one.sql", "name": "default__test_at_least_one", "macro_sql": "{% macro default__test_at_least_one(model) %}\n\n{% set column_name = kwargs.get('column_name', kwargs.get('arg')) %}\n\nselect count(*)\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": []}, "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/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/dbt_utils", "path": "macros/schema_tests/unique_combination_of_columns.sql", "original_file_path": "macros/schema_tests/unique_combination_of_columns.sql", "name": "test_unique_combination_of_columns", "macro_sql": "{% macro test_unique_combination_of_columns(model, quote_columns = false) %}\n {{ return(adapter.dispatch('test_unique_combination_of_columns', packages = dbt_utils._get_utils_namespaces())(model, quote_columns, **kwargs)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/dbt_utils", "path": "macros/schema_tests/unique_combination_of_columns.sql", "original_file_path": "macros/schema_tests/unique_combination_of_columns.sql", "name": "default__test_unique_combination_of_columns", "macro_sql": "{% macro default__test_unique_combination_of_columns(model, quote_columns = false) %}\n\n{%- set columns = kwargs.get('combination_of_columns', kwargs.get('arg')) %}\n\n{% if not quote_columns %}\n {%- set column_list=columns %}\n{% elif quote_columns %}\n {%- set column_list=[] %}\n {% for column in 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\n group by {{ columns_csv }}\n having count(*) > 1\n\n)\n\nselect count(*)\nfrom validation_errors\n\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/dbt_utils", "path": "macros/schema_tests/cardinality_equality.sql", "original_file_path": "macros/schema_tests/cardinality_equality.sql", "name": "test_cardinality_equality", "macro_sql": "{% macro test_cardinality_equality(model, to, field) %}\n\n {{ return(adapter.dispatch('test_cardinality_equality', packages = dbt_utils._get_utils_namespaces())(model, to, field, **kwargs)) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/dbt_utils", "path": "macros/schema_tests/cardinality_equality.sql", "original_file_path": "macros/schema_tests/cardinality_equality.sql", "name": "default__test_cardinality_equality", "macro_sql": "{% macro default__test_cardinality_equality(model, to, field) %}\n\n{# T-SQL doesn't let you use numbers as aliases for columns #}\n{# Thus, no \"GROUP BY 1\" #}\n\n{% set column_name = kwargs.get('column_name', kwargs.get('from')) %}\n\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 {{ column_name }}\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 count(*)\nfrom unioned\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/dbt_utils", "path": "macros/schema_tests/expression_is_true.sql", "original_file_path": "macros/schema_tests/expression_is_true.sql", "name": "test_expression_is_true", "macro_sql": "{% macro test_expression_is_true(model, 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', packages = dbt_utils._get_utils_namespaces())(model, condition, **kwargs)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/dbt_utils", "path": "macros/schema_tests/expression_is_true.sql", "original_file_path": "macros/schema_tests/expression_is_true.sql", "name": "default__test_expression_is_true", "macro_sql": "{% macro default__test_expression_is_true(model, condition) %}\n\n{% set expression = kwargs.get('expression', kwargs.get('arg')) %}\n\nwith meet_condition as (\n\n select * from {{ model }} where {{ condition }}\n\n),\nvalidation_errors as (\n\n select\n *\n from meet_condition\n where not({{expression}})\n\n)\n\nselect count(*)\nfrom validation_errors\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/dbt_utils", "path": "macros/schema_tests/test_not_null_where.sql", "original_file_path": "macros/schema_tests/test_not_null_where.sql", "name": "test_not_null_where", "macro_sql": "{% macro test_not_null_where(model) %}\r\n {{ return(adapter.dispatch('test_not_null_where', packages = dbt_utils._get_utils_namespaces())(model, **kwargs)) }}\r\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/dbt_utils", "path": "macros/schema_tests/test_not_null_where.sql", "original_file_path": "macros/schema_tests/test_not_null_where.sql", "name": "default__test_not_null_where", "macro_sql": "{% macro default__test_not_null_where(model) %}\r\n\r\n{% set column_name = kwargs.get('column_name', kwargs.get('arg')) %}\r\n{% set where = kwargs.get('where', kwargs.get('arg')) %}\r\n\r\nselect count(*)\r\nfrom {{ model }}\r\nwhere {{ column_name }} is null\r\n{% if where %} and {{ where }} {% endif %}\r\n\r\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "macro.dbt_utils.test_equality": {"unique_id": "macro.dbt_utils.test_equality", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/dbt_utils", "path": "macros/schema_tests/equality.sql", "original_file_path": "macros/schema_tests/equality.sql", "name": "test_equality", "macro_sql": "{% macro test_equality(model) %}\n {{ return(adapter.dispatch('test_equality', packages = dbt_utils._get_utils_namespaces())(model, **kwargs)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/dbt_utils", "path": "macros/schema_tests/equality.sql", "original_file_path": "macros/schema_tests/equality.sql", "name": "default__test_equality", "macro_sql": "{% macro default__test_equality(model) %}\n\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{%- set compare_columns = kwargs.get('compare_columns', None) -%}\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_model = kwargs.get('compare_model', kwargs.get('arg')) %}\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 * from a_minus_b\n union all\n select * from b_minus_a\n\n),\n\nfinal as (\n\n select (select count(*) from unioned) +\n (select abs(\n (select count(*) from a_minus_b) -\n (select count(*) from b_minus_a)\n ))\n as count\n\n)\n\nselect count from final\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/dbt_utils", "path": "macros/schema_tests/mutually_exclusive_ranges.sql", "original_file_path": "macros/schema_tests/mutually_exclusive_ranges.sql", "name": "test_mutually_exclusive_ranges", "macro_sql": "{% macro test_mutually_exclusive_ranges(model, lower_bound_column, upper_bound_column, partition_by=None, gaps='allowed') %}\n {{ return(adapter.dispatch('test_mutually_exclusive_ranges', packages = dbt_utils._get_utils_namespaces())(model, lower_bound_column, upper_bound_column, partition_by, gaps)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/dbt_utils", "path": "macros/schema_tests/mutually_exclusive_ranges.sql", "original_file_path": "macros/schema_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') %}\n\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\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 }},\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 < upper_bound,\n false\n ) as lower_bound_less_than_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_less_than_upper_bound\n and upper_bound_{{ allow_gaps_operator_in_words }}_next_lower_bound\n )\n)\n\nselect count(*) from validation_errors\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "macro.dbt_utils.nullcheck_table": {"unique_id": "macro.dbt_utils.nullcheck_table", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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', packages = dbt_utils._get_utils_namespaces())(relation)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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', packages = dbt_utils._get_utils_namespaces())(schema_pattern, table_pattern, exclude, database)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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', packages = dbt_utils._get_utils_namespaces())(upper_bound)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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": []}, "macro.dbt_utils.generate_series": {"unique_id": "macro.dbt_utils.generate_series", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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', packages = dbt_utils._get_utils_namespaces())(upper_bound)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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 * pow(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": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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', packages = dbt_utils._get_utils_namespaces())(schema, prefix, exclude, database)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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', packages = dbt_utils._get_utils_namespaces())(schema, prefix, exclude, database)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "macro.dbt_utils.star": {"unique_id": "macro.dbt_utils.star", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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=[]) -%}\n {{ return(adapter.dispatch('star', packages = dbt_utils._get_utils_namespaces())(from, relation_alias, except)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "macro.dbt_utils.default__star": {"unique_id": "macro.dbt_utils.default__star", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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=[]) -%}\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 include_cols = [] %}\n {%- set cols = adapter.get_columns_in_relation(from) -%}\n\n {%- for col in cols -%}\n\n {%- if col.column not in except -%}\n {% do include_cols.append(col.column) %}\n\n {%- endif %}\n {%- endfor %}\n\n {%- for col in include_cols %}\n\n {%- if relation_alias %}{{ relation_alias }}.{% else %}{%- endif -%}{{ adapter.quote(col)|trim }}\n {%- if not loop.last %},{{ '\\n ' }}{% endif %}\n\n {%- endfor -%}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "macro.dbt_utils.unpivot": {"unique_id": "macro.dbt_utils.unpivot", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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', packages = dbt_utils._get_utils_namespaces())(relation, cast_to, exclude, remove, field_name, value_name, table)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "macro.dbt_utils.default__unpivot": {"unique_id": "macro.dbt_utils.default__unpivot", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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({{ col.column }} 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": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "macro.dbt_utils.union_relations": {"unique_id": "macro.dbt_utils.union_relations", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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') -%}\n {{ return(adapter.dispatch('union_relations', packages = dbt_utils._get_utils_namespaces())(relations, column_override, include, exclude, source_column_name)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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') -%}\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\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\n {% if not loop.last -%}\n union all\n {% endif -%}\n\n {%- endfor -%}\n\n{%- endmacro -%}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "macro.dbt_utils.group_by": {"unique_id": "macro.dbt_utils.group_by", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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', packages = dbt_utils._get_utils_namespaces())(n)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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": []}, "macro.dbt_utils.surrogate_key": {"unique_id": "macro.dbt_utils.surrogate_key", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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', packages = dbt_utils._get_utils_namespaces())(field_list, *varargs)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "macro.dbt_utils.safe_add": {"unique_id": "macro.dbt_utils.safe_add", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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', packages = dbt_utils._get_utils_namespaces())(*varargs)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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": []}, "macro.dbt_utils.nullcheck": {"unique_id": "macro.dbt_utils.nullcheck", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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', packages = dbt_utils._get_utils_namespaces())(cols)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "macro.dbt_utils.default__nullcheck": {"unique_id": "macro.dbt_utils.default__nullcheck", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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": []}, "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/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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', packages = dbt_utils._get_utils_namespaces())\n (schema_pattern, table_pattern, exclude, database)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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 case table_type\n when 'BASE TABLE' then 'table'\n else lower(table_type)\n end as \"table_type\"\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": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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 case table_type\n when 'BASE TABLE' then 'table'\n else lower(table_type)\n end as table_type\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": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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, max_records=none, default=none) -%}\n {{ return(adapter.dispatch('get_column_values', packages = dbt_utils._get_utils_namespaces())(table, column, max_records, default)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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, max_records=none, default=none) -%}\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\n {%- set target_relation = adapter.get_relation(database=table.database,\n schema=table.schema,\n identifier=table.identifier) -%}\n\n {%- call statement('get_column_values', fetch_result=true) %}\n\n {%- if not target_relation and default is none -%}\n\n {{ exceptions.raise_compiler_error(\"In get_column_values(): relation \" ~ table ~ \" does not exist and no default value was provided.\") }}\n\n {%- elif not target_relation and default is not none -%}\n\n {{ log(\"Relation \" ~ table ~ \" does not exist. Returning the default value: \" ~ default) }}\n\n {{ return(default) }}\n\n {%- else -%}\n\n select\n {{ column }} as value\n\n from {{ target_relation }}\n group by 1\n order by count(*) desc\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": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "macro.dbt_utils.pivot": {"unique_id": "macro.dbt_utils.pivot", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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', packages = dbt_utils._get_utils_namespaces())(column, values, alias, agg, cmp, prefix, suffix, then_value, else_value, quote_identifiers, distinct)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "macro.dbt_utils.default__pivot": {"unique_id": "macro.dbt_utils.default__pivot", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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 v in values %}\n {{ agg }}(\n {% if distinct %} distinct {% endif %}\n case\n when {{ column }} {{ cmp }} '{{ v }}'\n then {{ then_value }}\n else {{ else_value }}\n end\n )\n {% if alias %}\n {% if quote_identifiers %}\n as {{ adapter.quote(prefix ~ v ~ suffix) }}\n {% else %}\n as {{prefix ~ v ~ suffix }}\n {% endif %}\n {% endif %}\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": []}, "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/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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', packages = dbt_utils._get_utils_namespaces())(query)) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "macro.fivetran_utils.enabled_vars": {"unique_id": "macro.fivetran_utils.enabled_vars", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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": []}, "macro.fivetran_utils.percentile": {"unique_id": "macro.fivetran_utils.percentile", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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', packages = fivetran_utils._get_utils_namespaces()) (percentile_field, partition_field, percent) }}\n\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "macro.fivetran_utils.default__percentile": {"unique_id": "macro.fivetran_utils.default__percentile", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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": []}, "macro.fivetran_utils.bigquery__percentile": {"unique_id": "macro.fivetran_utils.bigquery__percentile", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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": []}, "macro.fivetran_utils.max_bool": {"unique_id": "macro.fivetran_utils.max_bool", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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', packages = fivetran_utils._get_utils_namespaces()) (boolean_field) }}\n\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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": []}, "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/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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": []}, "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/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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": []}, "macro.fivetran_utils.string_agg": {"unique_id": "macro.fivetran_utils.string_agg", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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', packages = fivetran_utils._get_utils_namespaces()) (field_to_agg, delimiter) }}\n\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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": []}, "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/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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": []}, "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/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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": []}, "macro.fivetran_utils.timestamp_diff": {"unique_id": "macro.fivetran_utils.timestamp_diff", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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('datediff', packages = fivetran_utils._get_utils_namespaces())(first_date, second_date, datepart) }}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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": []}, "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/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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": []}, "macro.fivetran_utils.postgres__datediff": {"unique_id": "macro.fivetran_utils.postgres__datediff", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/fivetran_utils", "path": "macros/timestamp_diff.sql", "original_file_path": "macros/timestamp_diff.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": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "macro.fivetran_utils.generate_columns_macro": {"unique_id": "macro.fivetran_utils.generate_columns_macro", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/fivetran_utils", "path": "macros/generate_columns_macro.sql", "original_file_path": "macros/generate_columns_macro.sql", "name": "generate_columns_macro", "macro_sql": "{% macro generate_columns_macro(table_name, schema_name, database_name=target.database) %}\n\n{% set columns = get_columns_for_macro(table_name, schema_name, database_name) %}\n\n{% set jinja_macro=[] %}\n\n{% do jinja_macro.append('{% macro get_' ~ table_name ~ '_columns() %}') %}\n{% do jinja_macro.append('') %}\n{% do jinja_macro.append('{% set columns = [') %}\n\n{% for col in columns %}\n{% do jinja_macro.append(' ' ~ col ~ (',' if not loop.last)) %}\n{% endfor %}\n\n{% do jinja_macro.append('] %}') %}\n{% do jinja_macro.append('') %}\n{% do jinja_macro.append('{{ return(columns) }}') %}\n{% do jinja_macro.append('') %}\n{% do jinja_macro.append('{% endmacro %}') %}\n\n{% if execute %}\n\n {% set joined = jinja_macro | join ('\\n') %}\n {{ log(joined, info=True) }}\n {% do return(joined) %}\n\n{% endif %}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "macro.fivetran_utils.first_value": {"unique_id": "macro.fivetran_utils.first_value", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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', packages = fivetran_utils._get_utils_namespaces()) (first_value_field, partition_field, order_by_field, order) }}\n\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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": []}, "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/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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": []}, "macro.fivetran_utils.union_relations": {"unique_id": "macro.fivetran_utils.union_relations", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "macro.fivetran_utils.union_tables": {"unique_id": "macro.fivetran_utils.union_tables", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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": []}, "macro.fivetran_utils.snowflake__get_columns_for_macro": {"unique_id": "macro.fivetran_utils.snowflake__get_columns_for_macro", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/fivetran_utils", "path": "macros/get_columns_for_macro.sql", "original_file_path": "macros/get_columns_for_macro.sql", "name": "snowflake__get_columns_for_macro", "macro_sql": "{% macro snowflake__get_columns_for_macro(table_name, schema_name, database_name=target.database) %}\n\n{% set query %}\n\nselect\n concat(\n '{\"name\": \"', \n lower(column_name), \n '\", \"datatype\": ',\n case\n when lower(data_type) like '%timestamp%' then 'dbt_utils.type_timestamp()' \n when lower(data_type) = 'text' then 'dbt_utils.type_string()' \n when lower(data_type) = 'boolean' then '\"boolean\"'\n when lower(data_type) = 'number' then 'dbt_utils.type_numeric()' \n when lower(data_type) = 'float' then 'dbt_utils.type_float()' \n when lower(data_type) = 'date' then '\"date\"'\n end,\n '}')\nfrom {{ database_name }}.information_schema.columns\nwhere lower(table_name) = '{{ table_name }}'\nand lower(table_schema) = '{{ schema_name }}'\norder by 1\n\n{% endset %}\n\n{% set results = run_query(query) %}\n{% set results_list = results.columns[0].values() %}}\n\n{{ return(results_list) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "macro.fivetran_utils.bigquery__get_columns_for_macro": {"unique_id": "macro.fivetran_utils.bigquery__get_columns_for_macro", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/fivetran_utils", "path": "macros/get_columns_for_macro.sql", "original_file_path": "macros/get_columns_for_macro.sql", "name": "bigquery__get_columns_for_macro", "macro_sql": "{% macro bigquery__get_columns_for_macro(table_name, schema_name, database_name=target.database) %}\n\n{% set query %}\n\nselect\n concat(\n '{\"name\": \"', \n lower(column_name), \n '\", \"datatype\": ',\n case\n when lower(data_type) like '%timestamp%' then 'dbt_utils.type_timestamp()' \n when lower(data_type) = 'string' then 'dbt_utils.type_string()' \n when lower(data_type) = 'bool' then '\"boolean\"'\n when lower(data_type) = 'numeric' then 'dbt_utils.type_numeric()' \n when lower(data_type) = 'float64' then 'dbt_utils.type_float()' \n when lower(data_type) = 'int64' then 'dbt_utils.type_int()' \n when lower(data_type) = 'date' then '\"date\"' \n when lower(data_type) = 'datetime' then '\"datetime\"' \n end,\n '}')\nfrom `{{ database_name }}`.{{ schema_name }}.INFORMATION_SCHEMA.COLUMNS\nwhere lower(table_name) = '{{ table_name }}'\nand lower(table_schema) = '{{ schema_name }}'\norder by 1\n\n{% endset %}\n\n{% set results = run_query(query) %}\n{% set results_list = results.columns[0].values() %}}\n\n{{ return(results_list) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "macro.fivetran_utils.get_columns_for_macro": {"unique_id": "macro.fivetran_utils.get_columns_for_macro", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/fivetran_utils", "path": "macros/get_columns_for_macro.sql", "original_file_path": "macros/get_columns_for_macro.sql", "name": "get_columns_for_macro", "macro_sql": "{% macro get_columns_for_macro(table_name, schema_name, database_name) -%}\n {{ return(adapter.dispatch('get_columns_for_macro')(table_name, schema_name, database_name)) }}\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "macro.fivetran_utils.quote_column": {"unique_id": "macro.fivetran_utils.quote_column", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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 == 'bigquery' %}\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": []}, "macro.fivetran_utils.json_extract": {"unique_id": "macro.fivetran_utils.json_extract", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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', packages = fivetran_utils._get_utils_namespaces()) (string, string_path) }}\n\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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": []}, "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/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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": []}, "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/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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": []}, "macro.fivetran_utils.timestamp_add": {"unique_id": "macro.fivetran_utils.timestamp_add", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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', packages = fivetran_utils._get_utils_namespaces()) (datepart, interval, from_timestamp) }}\n\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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": []}, "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/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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": []}, "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/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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": []}, "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/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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": []}, "macro.fivetran_utils.ceiling": {"unique_id": "macro.fivetran_utils.ceiling", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/fivetran_utils", "path": "macros/ceiling.sql", "original_file_path": "macros/ceiling.sql", "name": "ceiling", "macro_sql": "{% macro ceiling(num) -%}\n\n{{ adapter.dispatch('ceiling', packages = fivetran_utils._get_utils_namespaces()) (num) }}\n\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "macro.fivetran_utils.default__ceiling": {"unique_id": "macro.fivetran_utils.default__ceiling", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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": []}, "macro.fivetran_utils.snowflake__ceiling": {"unique_id": "macro.fivetran_utils.snowflake__ceiling", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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": []}, "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/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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": []}, "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/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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": []}, "macro.fivetran_utils._get_utils_namespaces": {"unique_id": "macro.fivetran_utils._get_utils_namespaces", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/fivetran_utils", "path": "macros/_get_utils_namespaces.sql", "original_file_path": "macros/_get_utils_namespaces.sql", "name": "_get_utils_namespaces", "macro_sql": "{% macro _get_utils_namespaces() %}\n {% set override_namespaces = var('dbt_utils_dispatch_list', []) %}\n {% do return(override_namespaces + ['dbt_utils', 'fivetran_utils']) %}\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "macro.fivetran_utils.array_agg": {"unique_id": "macro.fivetran_utils.array_agg", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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', packages = fivetran_utils._get_utils_namespaces()) (field_to_agg) }}\n\n{%- endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "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/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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 listagg({{ field_to_agg }}, ',')\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "macro.fivetran_utils.snowflake__array_agg": {"unique_id": "macro.fivetran_utils.snowflake__array_agg", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/fivetran_utils", "path": "macros/array_agg.sql", "original_file_path": "macros/array_agg.sql", "name": "snowflake__array_agg", "macro_sql": "{% macro snowflake__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": []}, "macro.fivetran_utils.bigquery__array_agg": {"unique_id": "macro.fivetran_utils.bigquery__array_agg", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/fivetran_utils", "path": "macros/array_agg.sql", "original_file_path": "macros/array_agg.sql", "name": "bigquery__array_agg", "macro_sql": "{% macro bigquery__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": []}, "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/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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": []}, "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/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/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": []}, "macro.pinterest_source.get_ad_group_history_columns": {"unique_id": "macro.pinterest_source.get_ad_group_history_columns", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/pinterest_source", "path": "macros/get_ad_group_history_columns.sql", "original_file_path": "macros/get_ad_group_history_columns.sql", "name": "get_ad_group_history_columns", "macro_sql": "{% macro get_ad_group_history_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"campaign_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"created_time\", \"datatype\": dbt_utils.type_timestamp(), \"alias\": \"created_timestamp\"},\n {\"name\": \"end_time\", \"datatype\": dbt_utils.type_timestamp(), \"alias\": \"end_timestamp\"},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_string(), \"alias\": \"ad_group_id\"},\n {\"name\": \"name\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"start_time\", \"datatype\": dbt_utils.type_timestamp(), \"alias\": \"start_timestamp\"},\n {\"name\": \"status\", \"datatype\": dbt_utils.type_string()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "macro.pinterest_source.get_pin_promotion_history_columns": {"unique_id": "macro.pinterest_source.get_pin_promotion_history_columns", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/pinterest_source", "path": "macros/get_pin_promotion_history_columns.sql", "original_file_path": "macros/get_pin_promotion_history_columns.sql", "name": "get_pin_promotion_history_columns", "macro_sql": "{% macro get_pin_promotion_history_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"ad_group_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"android_deep_link\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"click_tracking_url\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"created_time\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"creative_type\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"destination_url\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"ios_deep_link\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"is_pin_deleted\", \"datatype\": \"boolean\"},\n {\"name\": \"is_removable\", \"datatype\": \"boolean\"},\n {\"name\": \"name\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"pin_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"review_status\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"status\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"updated_time\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"view_tracking_url\", \"datatype\": dbt_utils.type_string()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "macro.pinterest_source.get_pin_promotion_report_columns": {"unique_id": "macro.pinterest_source.get_pin_promotion_report_columns", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/pinterest_source", "path": "macros/get_pin_promotion_report_columns.sql", "original_file_path": "macros/get_pin_promotion_report_columns.sql", "name": "get_pin_promotion_report_columns", "macro_sql": "{% macro get_pin_promotion_report_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"ad_group_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"advertiser_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"campaign_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"clickthrough_1\", \"datatype\": dbt_utils.type_numeric()},\n {\"name\": \"clickthrough_1_gross\", \"datatype\": dbt_utils.type_numeric()},\n {\"name\": \"clickthrough_2\", \"datatype\": dbt_utils.type_numeric()},\n {\"name\": \"closeup_1\", \"datatype\": dbt_utils.type_numeric()},\n {\"name\": \"closeup_2\", \"datatype\": dbt_utils.type_numeric()},\n {\"name\": \"cpcv_in_micro_dollar\", \"datatype\": dbt_utils.type_float()},\n {\"name\": \"cpcv_p_95_in_micro_dollar\", \"datatype\": dbt_utils.type_float()},\n {\"name\": \"cpv_in_micro_dollar\", \"datatype\": dbt_utils.type_float()},\n {\"name\": \"date\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"engagement_1\", \"datatype\": dbt_utils.type_numeric()},\n {\"name\": \"engagement_2\", \"datatype\": dbt_utils.type_numeric()},\n {\"name\": \"impression_1\", \"datatype\": dbt_utils.type_numeric()},\n {\"name\": \"impression_1_gross\", \"datatype\": dbt_utils.type_numeric()},\n {\"name\": \"impression_2\", \"datatype\": dbt_utils.type_numeric()},\n {\"name\": \"pin_id\", \"datatype\": dbt_utils.type_numeric()},\n {\"name\": \"pin_promotion_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"repin_1\", \"datatype\": dbt_utils.type_numeric()},\n {\"name\": \"repin_2\", \"datatype\": dbt_utils.type_numeric()},\n {\"name\": \"spend_in_micro_dollar\", \"datatype\": dbt_utils.type_numeric()},\n {\"name\": \"total_click_unknown\", \"datatype\": dbt_utils.type_numeric()},\n {\"name\": \"total_conversions\", \"datatype\": dbt_utils.type_numeric()},\n {\"name\": \"total_impression_frequency\", \"datatype\": dbt_utils.type_float()},\n {\"name\": \"total_impression_user\", \"datatype\": dbt_utils.type_numeric()},\n {\"name\": \"total_unknown_tablet_action_to_mobile_conversion\", \"datatype\": dbt_utils.type_numeric()},\n {\"name\": \"video_avg_watchtime_in_second_1\", \"datatype\": dbt_utils.type_float()},\n {\"name\": \"video_avg_watchtime_in_second_2\", \"datatype\": dbt_utils.type_float()},\n {\"name\": \"video_mrc_views_1\", \"datatype\": dbt_utils.type_numeric()},\n {\"name\": \"video_mrc_views_2\", \"datatype\": dbt_utils.type_numeric()},\n {\"name\": \"video_p_0_combined_1\", \"datatype\": dbt_utils.type_numeric()},\n {\"name\": \"video_p_0_combined_2\", \"datatype\": dbt_utils.type_numeric()},\n {\"name\": \"video_p_100_complete_1\", \"datatype\": dbt_utils.type_numeric()},\n {\"name\": \"video_p_100_complete_2\", \"datatype\": dbt_utils.type_numeric()},\n {\"name\": \"video_p_25_combined_1\", \"datatype\": dbt_utils.type_numeric()},\n {\"name\": \"video_p_25_combined_2\", \"datatype\": dbt_utils.type_numeric()},\n {\"name\": \"video_p_50_combined_1\", \"datatype\": dbt_utils.type_numeric()},\n {\"name\": \"video_p_50_combined_2\", \"datatype\": dbt_utils.type_numeric()},\n {\"name\": \"video_p_75_combined_1\", \"datatype\": dbt_utils.type_numeric()},\n {\"name\": \"video_p_75_combined_2\", \"datatype\": dbt_utils.type_numeric()},\n {\"name\": \"video_p_95_combined_1\", \"datatype\": dbt_utils.type_numeric()},\n {\"name\": \"video_p_95_combined_2\", \"datatype\": dbt_utils.type_numeric()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}, "macro.pinterest_source.get_campaign_history_columns": {"unique_id": "macro.pinterest_source.get_campaign_history_columns", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/Pinterest/dbt_pinterest_source/integration_tests/dbt_modules/pinterest_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\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"created_time\", \"datatype\": dbt_utils.type_timestamp(), \"alias\": \"created_timestamp\"},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_string(), \"alias\": \"campaign_id\"},\n {\"name\": \"name\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"status\", \"datatype\": dbt_utils.type_string()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": []}}, "docs": {"dbt.__overview__": {"unique_id": "dbt.__overview__", "package_name": "dbt", "root_path": "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/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 `--models` 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/overview)?\n- Read the [dbt viewpoint](https://docs.getdbt.com/docs/viewpoint)\n- [Installation](https://docs.getdbt.com/docs/installation)\n- Join the [chat](https://community.getdbt.com/) on Slack for live questions and support."}}, "exposures": {}, "selectors": {}, "disabled": [], "parent_map": {"seed.pinterest_source_integration_tests.pin_promotion_history_data": [], "seed.pinterest_source_integration_tests.ad_group_history_data": [], "seed.pinterest_source_integration_tests.campaign_history_data": [], "seed.pinterest_source_integration_tests.pin_promotion_report_data": [], "model.pinterest_source.stg_pinterest_ads__pin_promotion_history": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_history_tmp", "model.pinterest_source.stg_pinterest_ads__pin_promotion_history_tmp"], "model.pinterest_source.stg_pinterest_ads__campaign_history": ["model.pinterest_source.stg_pinterest_ads__campaign_history_tmp", "model.pinterest_source.stg_pinterest_ads__campaign_history_tmp"], "model.pinterest_source.stg_pinterest_ads__pin_promotion_report": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_report_tmp", "model.pinterest_source.stg_pinterest_ads__pin_promotion_report_tmp"], "model.pinterest_source.stg_pinterest_ads__ad_group_history": ["model.pinterest_source.stg_pinterest_ads__ad_group_history_tmp", "model.pinterest_source.stg_pinterest_ads__ad_group_history_tmp"], "model.pinterest_source.stg_pinterest_ads__pin_promotion_report_tmp": ["seed.pinterest_source_integration_tests.pin_promotion_report_data"], "model.pinterest_source.stg_pinterest_ads__campaign_history_tmp": ["seed.pinterest_source_integration_tests.campaign_history_data"], "model.pinterest_source.stg_pinterest_ads__ad_group_history_tmp": ["seed.pinterest_source_integration_tests.ad_group_history_data"], "model.pinterest_source.stg_pinterest_ads__pin_promotion_history_tmp": ["seed.pinterest_source_integration_tests.pin_promotion_history_data"], "test.pinterest_source.unique_stg_pinterest_ads__ad_group_history_version_id": ["model.pinterest_source.stg_pinterest_ads__ad_group_history"], "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_history_version_id": ["model.pinterest_source.stg_pinterest_ads__ad_group_history"], "test.pinterest_source.unique_stg_pinterest_ads__campaign_history_version_id": ["model.pinterest_source.stg_pinterest_ads__campaign_history"], "test.pinterest_source.not_null_stg_pinterest_ads__campaign_history_version_id": ["model.pinterest_source.stg_pinterest_ads__campaign_history"], "test.pinterest_source.unique_stg_pinterest_ads__pin_promotion_history_version_id": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_history"], "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_history_version_id": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_history"], "test.pinterest_source.unique_stg_pinterest_ads__pin_promotion_report_report_id": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_report"], "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_report_report_id": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_report"], "source.pinterest_source.pinterest_ads.pin_promotion_report": [], "source.pinterest_source.pinterest_ads.pin_promotion_history": [], "source.pinterest_source.pinterest_ads.campaign_history": [], "source.pinterest_source.pinterest_ads.ad_group_history": []}, "child_map": {"seed.pinterest_source_integration_tests.pin_promotion_history_data": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_history_tmp"], "seed.pinterest_source_integration_tests.ad_group_history_data": ["model.pinterest_source.stg_pinterest_ads__ad_group_history_tmp"], "seed.pinterest_source_integration_tests.campaign_history_data": ["model.pinterest_source.stg_pinterest_ads__campaign_history_tmp"], "seed.pinterest_source_integration_tests.pin_promotion_report_data": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_report_tmp"], "model.pinterest_source.stg_pinterest_ads__pin_promotion_history": ["test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_history_version_id", "test.pinterest_source.unique_stg_pinterest_ads__pin_promotion_history_version_id"], "model.pinterest_source.stg_pinterest_ads__campaign_history": ["test.pinterest_source.not_null_stg_pinterest_ads__campaign_history_version_id", "test.pinterest_source.unique_stg_pinterest_ads__campaign_history_version_id"], "model.pinterest_source.stg_pinterest_ads__pin_promotion_report": ["test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_report_report_id", "test.pinterest_source.unique_stg_pinterest_ads__pin_promotion_report_report_id"], "model.pinterest_source.stg_pinterest_ads__ad_group_history": ["test.pinterest_source.not_null_stg_pinterest_ads__ad_group_history_version_id", "test.pinterest_source.unique_stg_pinterest_ads__ad_group_history_version_id"], "model.pinterest_source.stg_pinterest_ads__pin_promotion_report_tmp": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_report", "model.pinterest_source.stg_pinterest_ads__pin_promotion_report"], "model.pinterest_source.stg_pinterest_ads__campaign_history_tmp": ["model.pinterest_source.stg_pinterest_ads__campaign_history", "model.pinterest_source.stg_pinterest_ads__campaign_history"], "model.pinterest_source.stg_pinterest_ads__ad_group_history_tmp": ["model.pinterest_source.stg_pinterest_ads__ad_group_history", "model.pinterest_source.stg_pinterest_ads__ad_group_history"], "model.pinterest_source.stg_pinterest_ads__pin_promotion_history_tmp": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_history", "model.pinterest_source.stg_pinterest_ads__pin_promotion_history"], "test.pinterest_source.unique_stg_pinterest_ads__ad_group_history_version_id": [], "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_history_version_id": [], "test.pinterest_source.unique_stg_pinterest_ads__campaign_history_version_id": [], "test.pinterest_source.not_null_stg_pinterest_ads__campaign_history_version_id": [], "test.pinterest_source.unique_stg_pinterest_ads__pin_promotion_history_version_id": [], "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_history_version_id": [], "test.pinterest_source.unique_stg_pinterest_ads__pin_promotion_report_report_id": [], "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_report_report_id": [], "source.pinterest_source.pinterest_ads.pin_promotion_report": [], "source.pinterest_source.pinterest_ads.pin_promotion_history": [], "source.pinterest_source.pinterest_ads.campaign_history": [], "source.pinterest_source.pinterest_ads.ad_group_history": []}} \ No newline at end of file +{"metadata": {"dbt_schema_version": "https://schemas.getdbt.com/dbt/manifest/v4.json", "dbt_version": "1.0.4", "generated_at": "2022-06-30T19:28:48.137263Z", "invocation_id": "95030cc3-b499-42bd-89f0-d11773ebc3b0", "env": {}, "project_id": "0c5e93f26aaf82565f2c06106a3cb878", "user_id": "8929baf0-9bc1-477e-9a57-eb8b0db4da62", "send_anonymous_usage_stats": true, "adapter_type": "postgres"}, "nodes": {"seed.pinterest_source_integration_tests.ad_group_report_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", "campaign_id": "bigint", "ad_group_id": "bigint", "pin_id": "bigint", "advertiser_id": "bigint", "pin_promotion_id": "bigint", "keyword_id": "bigint"}, "full_refresh": null, "on_schema_change": "ignore", "quote_columns": true, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "pinterest_source_integration_tests", "fqn": ["pinterest_source_integration_tests", "ad_group_report_data"], "unique_id": "seed.pinterest_source_integration_tests.ad_group_report_data", "package_name": "pinterest_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests", "path": "ad_group_report_data.csv", "original_file_path": "seeds/ad_group_report_data.csv", "name": "ad_group_report_data", "alias": "ad_group_report_data", "checksum": {"name": "sha256", "checksum": "e97c0744fe3e48bcc4f9016c719b37f08e7cf5d2eed93805e0d54678df283662"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type in ('redshift','postgres') else false }}", "column_types": {"id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "ad_group_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "advertiser_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_promotion_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "keyword_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}"}}, "created_at": 1656616677.0921931, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"ad_group_report_data\""}, "seed.pinterest_source_integration_tests.keyword_report_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", "campaign_id": "bigint", "ad_group_id": "bigint", "pin_id": "bigint", "advertiser_id": "bigint", "pin_promotion_id": "bigint", "keyword_id": "bigint"}, "full_refresh": null, "on_schema_change": "ignore", "quote_columns": true, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "pinterest_source_integration_tests", "fqn": ["pinterest_source_integration_tests", "keyword_report_data"], "unique_id": "seed.pinterest_source_integration_tests.keyword_report_data", "package_name": "pinterest_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests", "path": "keyword_report_data.csv", "original_file_path": "seeds/keyword_report_data.csv", "name": "keyword_report_data", "alias": "keyword_report_data", "checksum": {"name": "sha256", "checksum": "1035144a7494a5a018e6a87770e8ee67eb6b98f6e899865c1e7c4b1bfc4b6951"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type in ('redshift','postgres') else false }}", "column_types": {"id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "ad_group_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "advertiser_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_promotion_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "keyword_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}"}}, "created_at": 1656616677.0981388, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"keyword_report_data\""}, "seed.pinterest_source_integration_tests.pin_promotion_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", "campaign_id": "bigint", "ad_group_id": "bigint", "pin_id": "bigint", "advertiser_id": "bigint", "pin_promotion_id": "bigint", "keyword_id": "bigint"}, "full_refresh": null, "on_schema_change": "ignore", "quote_columns": true, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "pinterest_source_integration_tests", "fqn": ["pinterest_source_integration_tests", "pin_promotion_history_data"], "unique_id": "seed.pinterest_source_integration_tests.pin_promotion_history_data", "package_name": "pinterest_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests", "path": "pin_promotion_history_data.csv", "original_file_path": "seeds/pin_promotion_history_data.csv", "name": "pin_promotion_history_data", "alias": "pin_promotion_history_data", "checksum": {"name": "sha256", "checksum": "6b7c5d891ccb02be0c1e126545984964eb4fa226a9d1ae9741ad76288497e338"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type in ('redshift','postgres') else false }}", "column_types": {"id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "ad_group_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "advertiser_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_promotion_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "keyword_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}"}}, "created_at": 1656616677.099158, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"pin_promotion_history_data\""}, "seed.pinterest_source_integration_tests.advertiser_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", "campaign_id": "bigint", "ad_group_id": "bigint", "pin_id": "bigint", "advertiser_id": "bigint", "pin_promotion_id": "bigint", "keyword_id": "bigint"}, "full_refresh": null, "on_schema_change": "ignore", "quote_columns": true, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "pinterest_source_integration_tests", "fqn": ["pinterest_source_integration_tests", "advertiser_history_data"], "unique_id": "seed.pinterest_source_integration_tests.advertiser_history_data", "package_name": "pinterest_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests", "path": "advertiser_history_data.csv", "original_file_path": "seeds/advertiser_history_data.csv", "name": "advertiser_history_data", "alias": "advertiser_history_data", "checksum": {"name": "sha256", "checksum": "a1efd698a39cc0a75b74b43b84d114eddf6eaac9d3dd7d2a06e704951c091fe4"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type in ('redshift','postgres') else false }}", "column_types": {"id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "ad_group_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "advertiser_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_promotion_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "keyword_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}"}}, "created_at": 1656616677.100209, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"advertiser_history_data\""}, "seed.pinterest_source_integration_tests.advertiser_report_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", "campaign_id": "bigint", "ad_group_id": "bigint", "pin_id": "bigint", "advertiser_id": "bigint", "pin_promotion_id": "bigint", "keyword_id": "bigint"}, "full_refresh": null, "on_schema_change": "ignore", "quote_columns": true, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "pinterest_source_integration_tests", "fqn": ["pinterest_source_integration_tests", "advertiser_report_data"], "unique_id": "seed.pinterest_source_integration_tests.advertiser_report_data", "package_name": "pinterest_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests", "path": "advertiser_report_data.csv", "original_file_path": "seeds/advertiser_report_data.csv", "name": "advertiser_report_data", "alias": "advertiser_report_data", "checksum": {"name": "sha256", "checksum": "1c259e5a0e32230a041a13947432b02764f30f9a7aa245893c63a386fb2ee60e"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type in ('redshift','postgres') else false }}", "column_types": {"id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "ad_group_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "advertiser_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_promotion_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "keyword_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}"}}, "created_at": 1656616677.1013708, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"advertiser_report_data\""}, "seed.pinterest_source_integration_tests.ad_group_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", "campaign_id": "bigint", "ad_group_id": "bigint", "pin_id": "bigint", "advertiser_id": "bigint", "pin_promotion_id": "bigint", "keyword_id": "bigint"}, "full_refresh": null, "on_schema_change": "ignore", "quote_columns": true, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "pinterest_source_integration_tests", "fqn": ["pinterest_source_integration_tests", "ad_group_history_data"], "unique_id": "seed.pinterest_source_integration_tests.ad_group_history_data", "package_name": "pinterest_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests", "path": "ad_group_history_data.csv", "original_file_path": "seeds/ad_group_history_data.csv", "name": "ad_group_history_data", "alias": "ad_group_history_data", "checksum": {"name": "sha256", "checksum": "ff76dce5a5b57b38a03bfc295838b9f05e99e3e310066ac3fc96f7c78e3b6be8"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type in ('redshift','postgres') else false }}", "column_types": {"id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "ad_group_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "advertiser_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_promotion_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "keyword_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}"}}, "created_at": 1656616677.102331, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"ad_group_history_data\""}, "seed.pinterest_source_integration_tests.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", "campaign_id": "bigint", "ad_group_id": "bigint", "pin_id": "bigint", "advertiser_id": "bigint", "pin_promotion_id": "bigint", "keyword_id": "bigint"}, "full_refresh": null, "on_schema_change": "ignore", "quote_columns": true, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "pinterest_source_integration_tests", "fqn": ["pinterest_source_integration_tests", "campaign_history_data"], "unique_id": "seed.pinterest_source_integration_tests.campaign_history_data", "package_name": "pinterest_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests", "path": "campaign_history_data.csv", "original_file_path": "seeds/campaign_history_data.csv", "name": "campaign_history_data", "alias": "campaign_history_data", "checksum": {"name": "sha256", "checksum": "cead5146f8bd80ba181f2ee8b34a38c6622f11d48768ff15f84b879cc5d9a4de"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type in ('redshift','postgres') else false }}", "column_types": {"id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "ad_group_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "advertiser_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_promotion_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "keyword_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}"}}, "created_at": 1656616677.103292, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"campaign_history_data\""}, "seed.pinterest_source_integration_tests.campaign_report_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", "campaign_id": "bigint", "ad_group_id": "bigint", "pin_id": "bigint", "advertiser_id": "bigint", "pin_promotion_id": "bigint", "keyword_id": "bigint"}, "full_refresh": null, "on_schema_change": "ignore", "quote_columns": true, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "pinterest_source_integration_tests", "fqn": ["pinterest_source_integration_tests", "campaign_report_data"], "unique_id": "seed.pinterest_source_integration_tests.campaign_report_data", "package_name": "pinterest_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests", "path": "campaign_report_data.csv", "original_file_path": "seeds/campaign_report_data.csv", "name": "campaign_report_data", "alias": "campaign_report_data", "checksum": {"name": "sha256", "checksum": "b13c07bb0eabe3bb01f21e3a9ca46d6d549a7ae56668fd3c3bc69ba033586638"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type in ('redshift','postgres') else false }}", "column_types": {"id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "ad_group_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "advertiser_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_promotion_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "keyword_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}"}}, "created_at": 1656616677.104272, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"campaign_report_data\""}, "seed.pinterest_source_integration_tests.keyword_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", "campaign_id": "bigint", "ad_group_id": "bigint", "pin_id": "bigint", "advertiser_id": "bigint", "pin_promotion_id": "bigint", "keyword_id": "bigint"}, "full_refresh": null, "on_schema_change": "ignore", "quote_columns": true, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "pinterest_source_integration_tests", "fqn": ["pinterest_source_integration_tests", "keyword_history_data"], "unique_id": "seed.pinterest_source_integration_tests.keyword_history_data", "package_name": "pinterest_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests", "path": "keyword_history_data.csv", "original_file_path": "seeds/keyword_history_data.csv", "name": "keyword_history_data", "alias": "keyword_history_data", "checksum": {"name": "sha256", "checksum": "589c187cfa8845b5851700d6e10128a158fe860a55a4f4de7f83b1e92226bc9e"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type in ('redshift','postgres') else false }}", "column_types": {"id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "ad_group_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "advertiser_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_promotion_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "keyword_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}"}}, "created_at": 1656616677.105731, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"keyword_history_data\""}, "seed.pinterest_source_integration_tests.pin_promotion_report_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", "campaign_id": "bigint", "ad_group_id": "bigint", "pin_id": "bigint", "advertiser_id": "bigint", "pin_promotion_id": "bigint", "keyword_id": "bigint"}, "full_refresh": null, "on_schema_change": "ignore", "quote_columns": true, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "pinterest_source_integration_tests", "fqn": ["pinterest_source_integration_tests", "pin_promotion_report_data"], "unique_id": "seed.pinterest_source_integration_tests.pin_promotion_report_data", "package_name": "pinterest_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests", "path": "pin_promotion_report_data.csv", "original_file_path": "seeds/pin_promotion_report_data.csv", "name": "pin_promotion_report_data", "alias": "pin_promotion_report_data", "checksum": {"name": "sha256", "checksum": "925cc6b85b3db0a72f4b6caba706aca609a276e4c71786a651c0294b2cd6ad35"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type in ('redshift','postgres') else false }}", "column_types": {"id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "ad_group_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "advertiser_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_promotion_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "keyword_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}"}}, "created_at": 1656616677.106726, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"pin_promotion_report_data\""}, "model.pinterest_source.stg_pinterest_ads__keyword_report": {"raw_sql": "with base as (\n\n select * \n from {{ ref('stg_pinterest_ads__keyword_report_tmp') }}\n),\n\nfields as (\n\n select\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_pinterest_ads__keyword_report_tmp')),\n staging_columns=get_keyword_report_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select\n date as date_day,\n keyword_id,\n pin_promotion_id,\n ad_group_id,\n ad_group_name,\n ad_group_status,\n campaign_id,\n advertiser_id,\n _fivetran_synced,\n coalesce(impression_1,0) + coalesce(impression_2,0) as impressions,\n coalesce(clickthrough_1,0) + coalesce(clickthrough_2,0) as clicks,\n spend_in_micro_dollar / 1000000.0 as spend\n\n {% for metric in var('pinterest__keyword_report_passthrough_metrics',[]) %}\n , {{ metric }}\n {% endfor %}\n\n from fields\n)\n\nselect *\nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.pinterest_source.get_keyword_report_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.pinterest_source.stg_pinterest_ads__keyword_report_tmp", "model.pinterest_source.stg_pinterest_ads__keyword_report_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "stg_pinterest_ads__keyword_report"], "unique_id": "model.pinterest_source.stg_pinterest_ads__keyword_report", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "stg_pinterest_ads__keyword_report.sql", "original_file_path": "models/stg_pinterest_ads__keyword_report.sql", "name": "stg_pinterest_ads__keyword_report", "alias": "stg_pinterest_ads__keyword_report", "checksum": {"name": "sha256", "checksum": "eae25ceb0443dd7893e97ad960356a12b50bd7d84f25ce57fa726c984efb6bcc"}, "tags": [], "refs": [["stg_pinterest_ads__keyword_report_tmp"], ["stg_pinterest_ads__keyword_report_tmp"]], "sources": [], "description": "Each record represents the daily performance of Keywords.", "columns": {"date_day": {"name": "date_day", "description": "The performance date of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "keyword_id": {"name": "keyword_id", "description": "Unique identifier of the keyword.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "pin_promotion_id": {"name": "pin_promotion_id", "description": "The ID of the related Pin promotion.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_id": {"name": "ad_group_id", "description": "The ID of the related Ad group.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_name": {"name": "ad_group_name", "description": "Name of the ad group.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_status": {"name": "ad_group_status", "description": "Status of the ad group.", "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": []}, "advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impressions": {"name": "impressions", "description": "The number of impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clicks": {"name": "clicks", "description": "The number of clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend": {"name": "spend", "description": "The amount of spend that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "pinterest_source://models/stg_pinterest_ads.yml", "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads__keyword_report.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "table"}, "created_at": 1656616677.3245592, "compiled_sql": "with base as (\n\n select * \n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__keyword_report_tmp\"\n),\n\nfields as (\n\n select\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n ad_group_id\n \n as \n \n ad_group_id\n \n, \n \n \n ad_group_name\n \n as \n \n ad_group_name\n \n, \n \n \n ad_group_status\n \n as \n \n ad_group_status\n \n, \n \n \n advertiser_id\n \n as \n \n advertiser_id\n \n, \n \n \n campaign_id\n \n as \n \n campaign_id\n \n, \n \n \n clickthrough_1\n \n as \n \n clickthrough_1\n \n, \n cast(null as \n int\n) as \n \n clickthrough_2\n \n , \n \n \n date\n \n as \n \n date\n \n, \n \n \n impression_1\n \n as \n \n impression_1\n \n, \n cast(null as \n int\n) as \n \n impression_2\n \n , \n \n \n keyword_id\n \n as \n \n keyword_id\n \n, \n \n \n pin_promotion_id\n \n as \n \n pin_promotion_id\n \n, \n \n \n spend_in_micro_dollar\n \n as \n \n spend_in_micro_dollar\n \n\n\n\n from base\n),\n\nfinal as (\n \n select\n date as date_day,\n keyword_id,\n pin_promotion_id,\n ad_group_id,\n ad_group_name,\n ad_group_status,\n campaign_id,\n advertiser_id,\n _fivetran_synced,\n coalesce(impression_1,0) + coalesce(impression_2,0) as impressions,\n coalesce(clickthrough_1,0) + coalesce(clickthrough_2,0) as clicks,\n spend_in_micro_dollar / 1000000.0 as spend\n\n \n\n from fields\n)\n\nselect *\nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__keyword_report\""}, "model.pinterest_source.stg_pinterest_ads__ad_group_report": {"raw_sql": "with base as (\n\n select * \n from {{ ref('stg_pinterest_ads__ad_group_report_tmp') }}\n),\n\nfields as (\n\n select\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_pinterest_ads__ad_group_report_tmp')),\n staging_columns=get_ad_group_report_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select \n date as date_day,\n ad_group_id,\n ad_group_name,\n ad_group_status,\n campaign_id,\n advertiser_id,\n _fivetran_synced,\n coalesce(impression_1,0) + coalesce(impression_2,0) as impressions,\n coalesce(clickthrough_1,0) + coalesce(clickthrough_2,0) as clicks,\n spend_in_micro_dollar / 1000000.0 as spend\n\n {% for metric in var('pinterest__ad_group_report_passthrough_metrics',[]) %}\n , {{ metric }}\n {% endfor %}\n\n from fields\n)\n\nselect *\nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.pinterest_source.get_ad_group_report_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.pinterest_source.stg_pinterest_ads__ad_group_report_tmp", "model.pinterest_source.stg_pinterest_ads__ad_group_report_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "stg_pinterest_ads__ad_group_report"], "unique_id": "model.pinterest_source.stg_pinterest_ads__ad_group_report", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "stg_pinterest_ads__ad_group_report.sql", "original_file_path": "models/stg_pinterest_ads__ad_group_report.sql", "name": "stg_pinterest_ads__ad_group_report", "alias": "stg_pinterest_ads__ad_group_report", "checksum": {"name": "sha256", "checksum": "a1988f317cfd1fc918ea6590be28581a9cb169ecfef2005742229a3d685f0f6b"}, "tags": [], "refs": [["stg_pinterest_ads__ad_group_report_tmp"], ["stg_pinterest_ads__ad_group_report_tmp"]], "sources": [], "description": "Each record represents the daily performance of a Pinterest Ad Groups.", "columns": {"date_day": {"name": "date_day", "description": "The performance date of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_id": {"name": "ad_group_id", "description": "The ID of the related Ad group.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_name": {"name": "ad_group_name", "description": "Name of the ad group.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_status": {"name": "ad_group_status", "description": "Status of the ad group.", "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": []}, "advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impressions": {"name": "impressions", "description": "The number of impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clicks": {"name": "clicks", "description": "The number of clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend": {"name": "spend", "description": "The amount of spend that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "pinterest_source://models/stg_pinterest_ads.yml", "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads__ad_group_report.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "table"}, "created_at": 1656616677.315252, "compiled_sql": "with base as (\n\n select * \n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__ad_group_report_tmp\"\n),\n\nfields as (\n\n select\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n ad_group_id\n \n as \n \n ad_group_id\n \n, \n \n \n ad_group_name\n \n as \n \n ad_group_name\n \n, \n \n \n ad_group_status\n \n as \n \n ad_group_status\n \n, \n \n \n advertiser_id\n \n as \n \n advertiser_id\n \n, \n \n \n campaign_id\n \n as \n \n campaign_id\n \n, \n \n \n clickthrough_1\n \n as \n \n clickthrough_1\n \n, \n cast(null as \n int\n) as \n \n clickthrough_2\n \n , \n \n \n date\n \n as \n \n date\n \n, \n \n \n impression_1\n \n as \n \n impression_1\n \n, \n cast(null as \n int\n) as \n \n impression_2\n \n , \n \n \n spend_in_micro_dollar\n \n as \n \n spend_in_micro_dollar\n \n\n\n\n from base\n),\n\nfinal as (\n \n select \n date as date_day,\n ad_group_id,\n ad_group_name,\n ad_group_status,\n campaign_id,\n advertiser_id,\n _fivetran_synced,\n coalesce(impression_1,0) + coalesce(impression_2,0) as impressions,\n coalesce(clickthrough_1,0) + coalesce(clickthrough_2,0) as clicks,\n spend_in_micro_dollar / 1000000.0 as spend\n\n \n\n from fields\n)\n\nselect *\nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__ad_group_report\""}, "model.pinterest_source.stg_pinterest_ads__advertiser_report": {"raw_sql": "with base as (\n\n select * \n from {{ ref('stg_pinterest_ads__advertiser_report_tmp') }}\n),\n\nfields as (\n\n select\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_pinterest_ads__advertiser_report_tmp')),\n staging_columns=get_advertiser_report_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select \n date as date_day,\n advertiser_id,\n _fivetran_synced,\n coalesce(impression_1,0) + coalesce(impression_2,0) as impressions,\n coalesce(clickthrough_1,0) + coalesce(clickthrough_2,0) as clicks,\n spend_in_micro_dollar / 1000000.0 as spend\n\n {% for metric in var('pinterest__advertiser_report_passthrough_metrics',[]) %}\n , {{ metric }}\n {% endfor %}\n\n from fields\n)\n\nselect *\nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.pinterest_source.get_advertiser_report_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.pinterest_source.stg_pinterest_ads__advertiser_report_tmp", "model.pinterest_source.stg_pinterest_ads__advertiser_report_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "stg_pinterest_ads__advertiser_report"], "unique_id": "model.pinterest_source.stg_pinterest_ads__advertiser_report", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "stg_pinterest_ads__advertiser_report.sql", "original_file_path": "models/stg_pinterest_ads__advertiser_report.sql", "name": "stg_pinterest_ads__advertiser_report", "alias": "stg_pinterest_ads__advertiser_report", "checksum": {"name": "sha256", "checksum": "00f1298fed5bfaba91fc3c7bfb8706e29fd9b02ddc3223a8b2957cdc9d6cdd08"}, "tags": [], "refs": [["stg_pinterest_ads__advertiser_report_tmp"], ["stg_pinterest_ads__advertiser_report_tmp"]], "sources": [], "description": "Each record represents the daily performance of an Advertiser.", "columns": {"date_day": {"name": "date_day", "description": "The performance date of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impressions": {"name": "impressions", "description": "The number of impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clicks": {"name": "clicks", "description": "The number of clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend": {"name": "spend", "description": "The amount of spend that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "pinterest_source://models/stg_pinterest_ads.yml", "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads__advertiser_report.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "table"}, "created_at": 1656616677.3181891, "compiled_sql": "with base as (\n\n select * \n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__advertiser_report_tmp\"\n),\n\nfields as (\n\n select\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n advertiser_id\n \n as \n \n advertiser_id\n \n, \n \n \n clickthrough_1\n \n as \n \n clickthrough_1\n \n, \n cast(null as \n int\n) as \n \n clickthrough_2\n \n , \n \n \n date\n \n as \n \n date\n \n, \n \n \n impression_1\n \n as \n \n impression_1\n \n, \n cast(null as \n int\n) as \n \n impression_2\n \n , \n \n \n spend_in_micro_dollar\n \n as \n \n spend_in_micro_dollar\n \n\n\n\n from base\n),\n\nfinal as (\n \n select \n date as date_day,\n advertiser_id,\n _fivetran_synced,\n coalesce(impression_1,0) + coalesce(impression_2,0) as impressions,\n coalesce(clickthrough_1,0) + coalesce(clickthrough_2,0) as clicks,\n spend_in_micro_dollar / 1000000.0 as spend\n\n \n\n from fields\n)\n\nselect *\nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__advertiser_report\""}, "model.pinterest_source.stg_pinterest_ads__advertiser_history": {"raw_sql": "with base as (\n\n select * \n from {{ ref('stg_pinterest_ads__advertiser_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_pinterest_ads__advertiser_history_tmp')),\n staging_columns=get_advertiser_history_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select \n id as advertiser_id,\n name as advertiser_name,\n status as advertiser_status,\n billing_profile_status,\n billing_type,\n country,\n created_time as created_at,\n currency,\n merchant_id,\n owner_user_id,\n updated_time as updated_at,\n _fivetran_synced\n from fields\n),\n\nmost_recent as (\n select\n *,\n row_number() over (partition by advertiser_id order by updated_at desc) = 1 as is_most_recent_record\n from final\n\n)\n\nselect *\nfrom most_recent", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.pinterest_source.get_advertiser_history_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.pinterest_source.stg_pinterest_ads__advertiser_history_tmp", "model.pinterest_source.stg_pinterest_ads__advertiser_history_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "stg_pinterest_ads__advertiser_history"], "unique_id": "model.pinterest_source.stg_pinterest_ads__advertiser_history", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "stg_pinterest_ads__advertiser_history.sql", "original_file_path": "models/stg_pinterest_ads__advertiser_history.sql", "name": "stg_pinterest_ads__advertiser_history", "alias": "stg_pinterest_ads__advertiser_history", "checksum": {"name": "sha256", "checksum": "f627fa7b9a85a35774e9808ad74bb158e7d26baf69e7b1cf1c5ba49748fb8a98"}, "tags": [], "refs": [["stg_pinterest_ads__advertiser_history_tmp"], ["stg_pinterest_ads__advertiser_history_tmp"]], "sources": [], "description": "Each record represents a version of an advertiser.", "columns": {"advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "advertiser_name": {"name": "advertiser_name", "description": "Name of the advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "advertiser_status": {"name": "advertiser_status", "description": "Status of the advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "billing_profile_status": {"name": "billing_profile_status", "description": "Status of the billing profile.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "billing_type": {"name": "billing_type", "description": "The billing type of the advertiser. Will typically be CREDIT_CARD or INVOICE.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "country": {"name": "country", "description": "The country code where the advertiser is located.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "created_at": {"name": "created_at", "description": "Timestamp of when a record was created.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "currency": {"name": "currency", "description": "The currency code which the a", "meta": {}, "data_type": null, "quote": null, "tags": []}, "merchant_id": {"name": "merchant_id", "description": "Unique ID of the merchant associated with the advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "owner_user_id": {"name": "owner_user_id", "description": "Unique identifier of the owner user.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "updated_at": {"name": "updated_at", "description": "Timestamp of when a record was last updated.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "is_most_recent_record": {"name": "is_most_recent_record", "description": "Boolean representing whether the record is the most recent version of the object.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "pinterest_source://models/stg_pinterest_ads.yml", "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads__advertiser_history.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "table"}, "created_at": 1656616677.317201, "compiled_sql": "with base as (\n\n select * \n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__advertiser_history_tmp\"\n),\n\nfields as (\n\n select\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n billing_profile_status\n \n as \n \n billing_profile_status\n \n, \n \n \n billing_type\n \n as \n \n billing_type\n \n, \n \n \n country\n \n as \n \n country\n \n, \n \n \n created_time\n \n as \n \n created_time\n \n, \n \n \n currency\n \n as \n \n currency\n \n, \n \n \n id\n \n as \n \n id\n \n, \n \n \n merchant_id\n \n as \n \n merchant_id\n \n, \n \n \n name\n \n as \n \n name\n \n, \n \n \n owner_user_id\n \n as \n \n owner_user_id\n \n, \n \n \n status\n \n as \n \n status\n \n, \n \n \n updated_time\n \n as \n \n updated_time\n \n\n\n\n from base\n),\n\nfinal as (\n \n select \n id as advertiser_id,\n name as advertiser_name,\n status as advertiser_status,\n billing_profile_status,\n billing_type,\n country,\n created_time as created_at,\n currency,\n merchant_id,\n owner_user_id,\n updated_time as updated_at,\n _fivetran_synced\n from fields\n),\n\nmost_recent as (\n select\n *,\n row_number() over (partition by advertiser_id order by updated_at desc) = 1 as is_most_recent_record\n from final\n\n)\n\nselect *\nfrom most_recent", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__advertiser_history\""}, "model.pinterest_source.stg_pinterest_ads__campaign_report": {"raw_sql": "with base as (\n\n select * \n from {{ ref('stg_pinterest_ads__campaign_report_tmp') }}\n),\n\nfields as (\n\n select\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_pinterest_ads__campaign_report_tmp')),\n staging_columns=get_campaign_report_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select \n date as date_day,\n campaign_id,\n campaign_name,\n campaign_status,\n advertiser_id,\n _fivetran_synced,\n coalesce(impression_1,0) + coalesce(impression_2,0) as impressions,\n coalesce(clickthrough_1,0) + coalesce(clickthrough_2,0) as clicks,\n spend_in_micro_dollar / 1000000.0 as spend\n\n {% for metric in var('pinterest__campaign_report_passthrough_metrics',[]) %}\n , {{ metric }}\n {% endfor %}\n\n from fields\n)\n\nselect *\nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.pinterest_source.get_campaign_report_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.pinterest_source.stg_pinterest_ads__campaign_report_tmp", "model.pinterest_source.stg_pinterest_ads__campaign_report_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "stg_pinterest_ads__campaign_report"], "unique_id": "model.pinterest_source.stg_pinterest_ads__campaign_report", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "stg_pinterest_ads__campaign_report.sql", "original_file_path": "models/stg_pinterest_ads__campaign_report.sql", "name": "stg_pinterest_ads__campaign_report", "alias": "stg_pinterest_ads__campaign_report", "checksum": {"name": "sha256", "checksum": "b899813e905096e91f44ca3d1f6f138cca698dc5185f5cdc7c52e443d0e395be"}, "tags": [], "refs": [["stg_pinterest_ads__campaign_report_tmp"], ["stg_pinterest_ads__campaign_report_tmp"]], "sources": [], "description": "Each record represents the daily performance of Campaigns.", "columns": {"date_day": {"name": "date_day", "description": "The performance date of the record.", "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": "Name of the campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_status": {"name": "campaign_status", "description": "Status of the campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impressions": {"name": "impressions", "description": "The number of impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clicks": {"name": "clicks", "description": "The number of clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend": {"name": "spend", "description": "The amount of spend that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "pinterest_source://models/stg_pinterest_ads.yml", "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads__campaign_report.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "table"}, "created_at": 1656616677.3203478, "compiled_sql": "with base as (\n\n select * \n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__campaign_report_tmp\"\n),\n\nfields as (\n\n select\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n advertiser_id\n \n as \n \n advertiser_id\n \n, \n \n \n campaign_id\n \n as \n \n campaign_id\n \n, \n \n \n campaign_name\n \n as \n \n campaign_name\n \n, \n \n \n campaign_status\n \n as \n \n campaign_status\n \n, \n \n \n clickthrough_1\n \n as \n \n clickthrough_1\n \n, \n cast(null as \n int\n) as \n \n clickthrough_2\n \n , \n \n \n date\n \n as \n \n date\n \n, \n \n \n impression_1\n \n as \n \n impression_1\n \n, \n cast(null as \n int\n) as \n \n impression_2\n \n , \n \n \n spend_in_micro_dollar\n \n as \n \n spend_in_micro_dollar\n \n\n\n\n from base\n),\n\nfinal as (\n \n select \n date as date_day,\n campaign_id,\n campaign_name,\n campaign_status,\n advertiser_id,\n _fivetran_synced,\n coalesce(impression_1,0) + coalesce(impression_2,0) as impressions,\n coalesce(clickthrough_1,0) + coalesce(clickthrough_2,0) as clicks,\n spend_in_micro_dollar / 1000000.0 as spend\n\n \n\n from fields\n)\n\nselect *\nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__campaign_report\""}, "model.pinterest_source.stg_pinterest_ads__keyword_history": {"raw_sql": "with base as (\n\n select * \n from {{ ref('stg_pinterest_ads__keyword_history_tmp') }}\n),\n\nfields as (\n\n select\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_pinterest_ads__keyword_history_tmp')),\n staging_columns=get_keyword_history_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select\n id as keyword_id,\n value as keyword_value,\n _fivetran_id,\n _fivetran_synced,\n ad_group_id,\n advertiser_id,\n archived,\n bid,\n campaign_id,\n match_type,\n parent_type\n from fields\n),\n\nmost_recent as (\n select\n *,\n row_number() over (partition by keyword_id order by _fivetran_synced desc) = 1 as is_most_recent_record\n from final\n)\n\nselect *\nfrom most_recent", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.pinterest_source.get_keyword_history_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.pinterest_source.stg_pinterest_ads__keyword_history_tmp", "model.pinterest_source.stg_pinterest_ads__keyword_history_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "stg_pinterest_ads__keyword_history"], "unique_id": "model.pinterest_source.stg_pinterest_ads__keyword_history", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "stg_pinterest_ads__keyword_history.sql", "original_file_path": "models/stg_pinterest_ads__keyword_history.sql", "name": "stg_pinterest_ads__keyword_history", "alias": "stg_pinterest_ads__keyword_history", "checksum": {"name": "sha256", "checksum": "699cd5961a1e73f18759bc85f569a503a381173579b2aa02bc27e1e8ae33fefd"}, "tags": [], "refs": [["stg_pinterest_ads__keyword_history_tmp"], ["stg_pinterest_ads__keyword_history_tmp"]], "sources": [], "description": "Each record represents the daily performance of a Keyword.", "columns": {"keyword_id": {"name": "keyword_id", "description": "Unique identifier of the keyword.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "keyword_value": {"name": "keyword_value", "description": "The text value that makes upd the keyword.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_id": {"name": "_fivetran_id", "description": "The unique identifier of the record within the Fivetran synced table.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_id": {"name": "ad_group_id", "description": "The ID of the related Ad group.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "archived": {"name": "archived", "description": "Boolean indicating if the keyword is archived.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "bid": {"name": "bid", "description": "Bid amount set for the keyword.", "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": []}, "match_type": {"name": "match_type", "description": "Type of match the keyword is tied to. Either Exact or Broad.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "parent_type": {"name": "parent_type", "description": "Identifier of what grain the parent type is. Ad group or campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "is_most_recent_record": {"name": "is_most_recent_record", "description": "Boolean representing whether the record is the most recent version of the object.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "pinterest_source://models/stg_pinterest_ads.yml", "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads__keyword_history.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "table"}, "created_at": 1656616677.3228002, "compiled_sql": "with base as (\n\n select * \n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__keyword_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 ad_group_id\n \n as \n \n ad_group_id\n \n, \n \n \n advertiser_id\n \n as \n \n advertiser_id\n \n, \n \n \n archived\n \n as \n \n archived\n \n, \n \n \n bid\n \n as \n \n bid\n \n, \n \n \n campaign_id\n \n as \n \n campaign_id\n \n, \n \n \n id\n \n as \n \n id\n \n, \n \n \n match_type\n \n as \n \n match_type\n \n, \n \n \n parent_type\n \n as \n \n parent_type\n \n, \n \n \n value\n \n as \n \n value\n \n\n\n\n from base\n),\n\nfinal as (\n \n select\n id as keyword_id,\n value as keyword_value,\n _fivetran_id,\n _fivetran_synced,\n ad_group_id,\n advertiser_id,\n archived,\n bid,\n campaign_id,\n match_type,\n parent_type\n from fields\n),\n\nmost_recent as (\n select\n *,\n row_number() over (partition by keyword_id order by _fivetran_synced desc) = 1 as is_most_recent_record\n from final\n)\n\nselect *\nfrom most_recent", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__keyword_history\""}, "model.pinterest_source.stg_pinterest_ads__pin_promotion_report": {"raw_sql": "with base as (\n\n select *\n from {{ ref('stg_pinterest_ads__pin_promotion_report_tmp') }}\n), \n\nfields as (\n\n select\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_pinterest_ads__pin_promotion_report_tmp')),\n staging_columns=get_pin_promotion_report_columns()\n )\n }}\n from base\n), \n\nfinal as (\n\n select \n date as date_day,\n pin_promotion_id,\n ad_group_id,\n campaign_id,\n advertiser_id,\n _fivetran_synced,\n coalesce(impression_1,0) + coalesce(impression_2,0) as impressions,\n coalesce(clickthrough_1,0) + coalesce(clickthrough_2,0) as clicks,\n spend_in_micro_dollar / 1000000.0 as spend\n\n {% for metric in var('pinterest__pin_promotion_report_passthrough_metrics',[]) %}\n , {{ metric }}\n {% endfor %}\n\n from fields\n)\n\nselect *\nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.pinterest_source.get_pin_promotion_report_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_report_tmp", "model.pinterest_source.stg_pinterest_ads__pin_promotion_report_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "stg_pinterest_ads__pin_promotion_report"], "unique_id": "model.pinterest_source.stg_pinterest_ads__pin_promotion_report", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "stg_pinterest_ads__pin_promotion_report.sql", "original_file_path": "models/stg_pinterest_ads__pin_promotion_report.sql", "name": "stg_pinterest_ads__pin_promotion_report", "alias": "stg_pinterest_ads__pin_promotion_report", "checksum": {"name": "sha256", "checksum": "e0222fd677275d81b0f58343ffc12df5e78b733fb0d10634ee28633ffccfeaee"}, "tags": [], "refs": [["stg_pinterest_ads__pin_promotion_report_tmp"], ["stg_pinterest_ads__pin_promotion_report_tmp"]], "sources": [], "description": "Each record represents the daily performance of a Pinterest Pin promotion.", "columns": {"date_day": {"name": "date_day", "description": "The performance date of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "pin_promotion_id": {"name": "pin_promotion_id", "description": "The ID of the related Pin promotion.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_id": {"name": "ad_group_id", "description": "The ID of the related Ad group.", "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": []}, "advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impressions": {"name": "impressions", "description": "The number of impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clicks": {"name": "clicks", "description": "The number of clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend": {"name": "spend", "description": "The amount of spend that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "pinterest_source://models/stg_pinterest_ads.yml", "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads__pin_promotion_report.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "table"}, "created_at": 1656616677.31354, "compiled_sql": "with base as (\n\n select *\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__pin_promotion_report_tmp\"\n), \n\nfields as (\n\n select\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n ad_group_id\n \n as \n \n ad_group_id\n \n, \n \n \n advertiser_id\n \n as \n \n advertiser_id\n \n, \n \n \n campaign_id\n \n as \n \n campaign_id\n \n, \n \n \n clickthrough_1\n \n as \n \n clickthrough_1\n \n, \n \n \n clickthrough_2\n \n as \n \n clickthrough_2\n \n, \n \n \n date\n \n as \n \n date\n \n, \n \n \n impression_1\n \n as \n \n impression_1\n \n, \n \n \n impression_2\n \n as \n \n impression_2\n \n, \n \n \n pin_promotion_id\n \n as \n \n pin_promotion_id\n \n, \n \n \n spend_in_micro_dollar\n \n as \n \n spend_in_micro_dollar\n \n\n\n\n from base\n), \n\nfinal as (\n\n select \n date as date_day,\n pin_promotion_id,\n ad_group_id,\n campaign_id,\n advertiser_id,\n _fivetran_synced,\n coalesce(impression_1,0) + coalesce(impression_2,0) as impressions,\n coalesce(clickthrough_1,0) + coalesce(clickthrough_2,0) as clicks,\n spend_in_micro_dollar / 1000000.0 as spend\n\n \n\n from fields\n)\n\nselect *\nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__pin_promotion_report\""}, "model.pinterest_source.stg_pinterest_ads__advertiser_history_tmp": {"raw_sql": "select * \nfrom {{ var('advertiser_history') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.pinterest_source.pinterest_ads.advertiser_history"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "tmp", "stg_pinterest_ads__advertiser_history_tmp"], "unique_id": "model.pinterest_source.stg_pinterest_ads__advertiser_history_tmp", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "tmp/stg_pinterest_ads__advertiser_history_tmp.sql", "original_file_path": "models/tmp/stg_pinterest_ads__advertiser_history_tmp.sql", "name": "stg_pinterest_ads__advertiser_history_tmp", "alias": "stg_pinterest_ads__advertiser_history_tmp", "checksum": {"name": "sha256", "checksum": "60dc1039a40b4fd101ac71b52584219ef441b8f3231fab7270a1725731849343"}, "tags": [], "refs": [], "sources": [["pinterest_ads", "advertiser_history"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/tmp/stg_pinterest_ads__advertiser_history_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "view"}, "created_at": 1656616677.238901, "compiled_sql": "select * \nfrom \"postgres\".\"pinterest_source_integration_tests\".\"advertiser_history_data\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__advertiser_history_tmp\""}, "model.pinterest_source.stg_pinterest_ads__pin_promotion_report_tmp": {"raw_sql": "select *\nfrom {{ var('pin_promotion_report') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.pinterest_source.pinterest_ads.pin_promotion_report"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "tmp", "stg_pinterest_ads__pin_promotion_report_tmp"], "unique_id": "model.pinterest_source.stg_pinterest_ads__pin_promotion_report_tmp", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "tmp/stg_pinterest_ads__pin_promotion_report_tmp.sql", "original_file_path": "models/tmp/stg_pinterest_ads__pin_promotion_report_tmp.sql", "name": "stg_pinterest_ads__pin_promotion_report_tmp", "alias": "stg_pinterest_ads__pin_promotion_report_tmp", "checksum": {"name": "sha256", "checksum": "18cfa5bd72f823f350eb4fd5f5400957cc628d66510236ca582e0186f4ed24f4"}, "tags": [], "refs": [], "sources": [["pinterest_ads", "pin_promotion_report"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/tmp/stg_pinterest_ads__pin_promotion_report_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "view"}, "created_at": 1656616677.242018, "compiled_sql": "select *\nfrom \"postgres\".\"pinterest_source_integration_tests\".\"pin_promotion_report_data\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__pin_promotion_report_tmp\""}, "model.pinterest_source.stg_pinterest_ads__campaign_report_tmp": {"raw_sql": "select * \nfrom {{ var('campaign_report') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.pinterest_source.pinterest_ads.campaign_report"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "tmp", "stg_pinterest_ads__campaign_report_tmp"], "unique_id": "model.pinterest_source.stg_pinterest_ads__campaign_report_tmp", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "tmp/stg_pinterest_ads__campaign_report_tmp.sql", "original_file_path": "models/tmp/stg_pinterest_ads__campaign_report_tmp.sql", "name": "stg_pinterest_ads__campaign_report_tmp", "alias": "stg_pinterest_ads__campaign_report_tmp", "checksum": {"name": "sha256", "checksum": "5f611ed15f119a95ac9ba29f2463d1924782790c0678cfca4fd0f25aab4d4296"}, "tags": [], "refs": [], "sources": [["pinterest_ads", "campaign_report"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/tmp/stg_pinterest_ads__campaign_report_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "view"}, "created_at": 1656616677.2448142, "compiled_sql": "select * \nfrom \"postgres\".\"pinterest_source_integration_tests\".\"campaign_report_data\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__campaign_report_tmp\""}, "model.pinterest_source.stg_pinterest_ads__advertiser_report_tmp": {"raw_sql": "select * \nfrom {{ var('advertiser_report') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.pinterest_source.pinterest_ads.advertiser_report"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "tmp", "stg_pinterest_ads__advertiser_report_tmp"], "unique_id": "model.pinterest_source.stg_pinterest_ads__advertiser_report_tmp", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "tmp/stg_pinterest_ads__advertiser_report_tmp.sql", "original_file_path": "models/tmp/stg_pinterest_ads__advertiser_report_tmp.sql", "name": "stg_pinterest_ads__advertiser_report_tmp", "alias": "stg_pinterest_ads__advertiser_report_tmp", "checksum": {"name": "sha256", "checksum": "68f4f29d7cc41371c11bca9e1ac615df584965bb7be78dda187252b1893b6a17"}, "tags": [], "refs": [], "sources": [["pinterest_ads", "advertiser_report"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/tmp/stg_pinterest_ads__advertiser_report_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "view"}, "created_at": 1656616677.2482, "compiled_sql": "select * \nfrom \"postgres\".\"pinterest_source_integration_tests\".\"advertiser_report_data\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__advertiser_report_tmp\""}, "model.pinterest_source.stg_pinterest_ads__keyword_report_tmp": {"raw_sql": "select * \nfrom {{ var('keyword_report') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.pinterest_source.pinterest_ads.keyword_report"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "tmp", "stg_pinterest_ads__keyword_report_tmp"], "unique_id": "model.pinterest_source.stg_pinterest_ads__keyword_report_tmp", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "tmp/stg_pinterest_ads__keyword_report_tmp.sql", "original_file_path": "models/tmp/stg_pinterest_ads__keyword_report_tmp.sql", "name": "stg_pinterest_ads__keyword_report_tmp", "alias": "stg_pinterest_ads__keyword_report_tmp", "checksum": {"name": "sha256", "checksum": "180a05437502b97ae4654b06e70dee2f2324b4b80815c2be214cdc9cfcb4a99d"}, "tags": [], "refs": [], "sources": [["pinterest_ads", "keyword_report"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/tmp/stg_pinterest_ads__keyword_report_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "view"}, "created_at": 1656616677.2510662, "compiled_sql": "select * \nfrom \"postgres\".\"pinterest_source_integration_tests\".\"keyword_report_data\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__keyword_report_tmp\""}, "model.pinterest_source.stg_pinterest_ads__ad_group_report_tmp": {"raw_sql": "select * \nfrom {{ var('ad_group_report') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.pinterest_source.pinterest_ads.ad_group_report"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "tmp", "stg_pinterest_ads__ad_group_report_tmp"], "unique_id": "model.pinterest_source.stg_pinterest_ads__ad_group_report_tmp", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "tmp/stg_pinterest_ads__ad_group_report_tmp.sql", "original_file_path": "models/tmp/stg_pinterest_ads__ad_group_report_tmp.sql", "name": "stg_pinterest_ads__ad_group_report_tmp", "alias": "stg_pinterest_ads__ad_group_report_tmp", "checksum": {"name": "sha256", "checksum": "7302e33164e446b0631e0dda341de8949d3ead51adddb6ba93fbda32b00449e2"}, "tags": [], "refs": [], "sources": [["pinterest_ads", "ad_group_report"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/tmp/stg_pinterest_ads__ad_group_report_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "view"}, "created_at": 1656616677.253918, "compiled_sql": "select * \nfrom \"postgres\".\"pinterest_source_integration_tests\".\"ad_group_report_data\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__ad_group_report_tmp\""}, "model.pinterest_source.stg_pinterest_ads__keyword_history_tmp": {"raw_sql": "select * \nfrom {{ var('keyword_history') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.pinterest_source.pinterest_ads.keyword_history"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "tmp", "stg_pinterest_ads__keyword_history_tmp"], "unique_id": "model.pinterest_source.stg_pinterest_ads__keyword_history_tmp", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "tmp/stg_pinterest_ads__keyword_history_tmp.sql", "original_file_path": "models/tmp/stg_pinterest_ads__keyword_history_tmp.sql", "name": "stg_pinterest_ads__keyword_history_tmp", "alias": "stg_pinterest_ads__keyword_history_tmp", "checksum": {"name": "sha256", "checksum": "beb1849e58089e1dbb21b3eca90782b48e6de96d5df38693417b91488ac622b1"}, "tags": [], "refs": [], "sources": [["pinterest_ads", "keyword_history"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/tmp/stg_pinterest_ads__keyword_history_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "view"}, "created_at": 1656616677.256765, "compiled_sql": "select * \nfrom \"postgres\".\"pinterest_source_integration_tests\".\"keyword_history_data\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__keyword_history_tmp\""}, "model.pinterest_source.stg_pinterest_ads__campaign_history_tmp": {"raw_sql": "select *\nfrom {{ var('campaign_history') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.pinterest_source.pinterest_ads.campaign_history"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "tmp", "stg_pinterest_ads__campaign_history_tmp"], "unique_id": "model.pinterest_source.stg_pinterest_ads__campaign_history_tmp", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "tmp/stg_pinterest_ads__campaign_history_tmp.sql", "original_file_path": "models/tmp/stg_pinterest_ads__campaign_history_tmp.sql", "name": "stg_pinterest_ads__campaign_history_tmp", "alias": "stg_pinterest_ads__campaign_history_tmp", "checksum": {"name": "sha256", "checksum": "ea41c8d4ba83ff540a5f38f481cbd17406e99954f8b9b7b086ac94203a8dd6bd"}, "tags": [], "refs": [], "sources": [["pinterest_ads", "campaign_history"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/tmp/stg_pinterest_ads__campaign_history_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "view"}, "created_at": 1656616677.259965, "compiled_sql": "select *\nfrom \"postgres\".\"pinterest_source_integration_tests\".\"campaign_history_data\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__campaign_history_tmp\""}, "model.pinterest_source.stg_pinterest_ads__ad_group_history_tmp": {"raw_sql": "select *\nfrom {{ var('ad_group_history') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.pinterest_source.pinterest_ads.ad_group_history"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "tmp", "stg_pinterest_ads__ad_group_history_tmp"], "unique_id": "model.pinterest_source.stg_pinterest_ads__ad_group_history_tmp", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "tmp/stg_pinterest_ads__ad_group_history_tmp.sql", "original_file_path": "models/tmp/stg_pinterest_ads__ad_group_history_tmp.sql", "name": "stg_pinterest_ads__ad_group_history_tmp", "alias": "stg_pinterest_ads__ad_group_history_tmp", "checksum": {"name": "sha256", "checksum": "23726e9b019c8268e9aaae828c6c1430685538bef615e52f2c17436dd3615dfa"}, "tags": [], "refs": [], "sources": [["pinterest_ads", "ad_group_history"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/tmp/stg_pinterest_ads__ad_group_history_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "view"}, "created_at": 1656616677.263347, "compiled_sql": "select *\nfrom \"postgres\".\"pinterest_source_integration_tests\".\"ad_group_history_data\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__ad_group_history_tmp\""}, "model.pinterest_source.stg_pinterest_ads__pin_promotion_history_tmp": {"raw_sql": "select *\nfrom {{ var('pin_promotion_history') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.pinterest_source.pinterest_ads.pin_promotion_history"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "tmp", "stg_pinterest_ads__pin_promotion_history_tmp"], "unique_id": "model.pinterest_source.stg_pinterest_ads__pin_promotion_history_tmp", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "tmp/stg_pinterest_ads__pin_promotion_history_tmp.sql", "original_file_path": "models/tmp/stg_pinterest_ads__pin_promotion_history_tmp.sql", "name": "stg_pinterest_ads__pin_promotion_history_tmp", "alias": "stg_pinterest_ads__pin_promotion_history_tmp", "checksum": {"name": "sha256", "checksum": "065bd24ab667bb3742cf11e3d96295c4c78ecdc04bb4d86a8bfa521482c55e71"}, "tags": [], "refs": [], "sources": [["pinterest_ads", "pin_promotion_history"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/tmp/stg_pinterest_ads__pin_promotion_history_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "view"}, "created_at": 1656616677.2682822, "compiled_sql": "select *\nfrom \"postgres\".\"pinterest_source_integration_tests\".\"pin_promotion_history_data\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__pin_promotion_history_tmp\""}, "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_report_date_day__pin_promotion_id.f30a887f4d": {"raw_sql": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_f9906fe67b3bd9891734121983e95908\") }}", "test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["date_day", "pin_promotion_id"], "model": "{{ get_where_subquery(ref('stg_pinterest_ads__pin_promotion_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.pinterest_source.stg_pinterest_ads__pin_promotion_report"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_f9906fe67b3bd9891734121983e95908", "schema": "dbt_test__audit", "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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_report_date_day__pin_promotion_id"], "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_report_date_day__pin_promotion_id.f30a887f4d", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "dbt_utils_unique_combination_o_f9906fe67b3bd9891734121983e95908.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_report_date_day__pin_promotion_id", "alias": "dbt_utils_unique_combination_o_f9906fe67b3bd9891734121983e95908", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__pin_promotion_report"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/dbt_utils_unique_combination_o_f9906fe67b3bd9891734121983e95908.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_f9906fe67b3bd9891734121983e95908"}, "created_at": 1656616677.3450081, "compiled_sql": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n date_day, pin_promotion_id\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__pin_promotion_report\"\n group by date_day, pin_promotion_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_pinterest_ads__pin_promotion_report"}, "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_report_date_day__ad_group_id.959c0f8422": {"raw_sql": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_102912c855f1f0127d704dffca6eb0d1\") }}", "test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["date_day", "ad_group_id"], "model": "{{ get_where_subquery(ref('stg_pinterest_ads__ad_group_report')) }}"}, "namespace": "dbt_utils"}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.pinterest_source.stg_pinterest_ads__ad_group_report"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_102912c855f1f0127d704dffca6eb0d1", "schema": "dbt_test__audit", "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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_report_date_day__ad_group_id"], "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_report_date_day__ad_group_id.959c0f8422", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "dbt_utils_unique_combination_o_102912c855f1f0127d704dffca6eb0d1.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_report_date_day__ad_group_id", "alias": "dbt_utils_unique_combination_o_102912c855f1f0127d704dffca6eb0d1", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__ad_group_report"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/dbt_utils_unique_combination_o_102912c855f1f0127d704dffca6eb0d1.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_102912c855f1f0127d704dffca6eb0d1"}, "created_at": 1656616677.3477912, "compiled_sql": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n date_day, ad_group_id\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__ad_group_report\"\n group by date_day, ad_group_id\n having count(*) > 1\n\n)\n\nselect *\nfrom validation_errors\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": null, "file_key_name": "models.stg_pinterest_ads__ad_group_report"}, "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_history_updated_at__advertiser_id.94e8f4de4b": {"raw_sql": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_ac571a135eb9bbe6db1401c33b830733\") }}", "test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["updated_at", "advertiser_id"], "model": "{{ get_where_subquery(ref('stg_pinterest_ads__advertiser_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.pinterest_source.stg_pinterest_ads__advertiser_history"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_ac571a135eb9bbe6db1401c33b830733", "schema": "dbt_test__audit", "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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_history_updated_at__advertiser_id"], "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_history_updated_at__advertiser_id.94e8f4de4b", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "dbt_utils_unique_combination_o_ac571a135eb9bbe6db1401c33b830733.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_history_updated_at__advertiser_id", "alias": "dbt_utils_unique_combination_o_ac571a135eb9bbe6db1401c33b830733", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__advertiser_history"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/dbt_utils_unique_combination_o_ac571a135eb9bbe6db1401c33b830733.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_ac571a135eb9bbe6db1401c33b830733"}, "created_at": 1656616677.350453, "compiled_sql": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n updated_at, advertiser_id\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__advertiser_history\"\n group by updated_at, advertiser_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_pinterest_ads__advertiser_history"}, "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_report_date_day__advertiser_id.e92ce8a9c0": {"raw_sql": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_7440d10d36ca9b555b1bb533d442c6de\") }}", "test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["date_day", "advertiser_id"], "model": "{{ get_where_subquery(ref('stg_pinterest_ads__advertiser_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.pinterest_source.stg_pinterest_ads__advertiser_report"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_7440d10d36ca9b555b1bb533d442c6de", "schema": "dbt_test__audit", "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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_report_date_day__advertiser_id"], "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_report_date_day__advertiser_id.e92ce8a9c0", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "dbt_utils_unique_combination_o_7440d10d36ca9b555b1bb533d442c6de.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_report_date_day__advertiser_id", "alias": "dbt_utils_unique_combination_o_7440d10d36ca9b555b1bb533d442c6de", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__advertiser_report"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/dbt_utils_unique_combination_o_7440d10d36ca9b555b1bb533d442c6de.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_7440d10d36ca9b555b1bb533d442c6de"}, "created_at": 1656616677.353888, "compiled_sql": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n date_day, advertiser_id\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__advertiser_report\"\n group by date_day, advertiser_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_pinterest_ads__advertiser_report"}, "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_report_date_day__campaign_id.968175d475": {"raw_sql": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_0c8355e1589626ebd0d1804da153d3b7\") }}", "test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["date_day", "campaign_id"], "model": "{{ get_where_subquery(ref('stg_pinterest_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.pinterest_source.stg_pinterest_ads__campaign_report"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_0c8355e1589626ebd0d1804da153d3b7", "schema": "dbt_test__audit", "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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_report_date_day__campaign_id"], "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_report_date_day__campaign_id.968175d475", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "dbt_utils_unique_combination_o_0c8355e1589626ebd0d1804da153d3b7.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_report_date_day__campaign_id", "alias": "dbt_utils_unique_combination_o_0c8355e1589626ebd0d1804da153d3b7", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__campaign_report"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/dbt_utils_unique_combination_o_0c8355e1589626ebd0d1804da153d3b7.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_0c8355e1589626ebd0d1804da153d3b7"}, "created_at": 1656616677.357109, "compiled_sql": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n date_day, campaign_id\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__campaign_report\"\n group by date_day, 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.stg_pinterest_ads__campaign_report"}, "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_history_keyword_id___fivetran_synced.e73fb0a4db": {"raw_sql": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_ec26c02aa227b5ef7cc6b4f64f99d1c4\") }}", "test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["keyword_id", "_fivetran_synced"], "model": "{{ get_where_subquery(ref('stg_pinterest_ads__keyword_history')) }}"}, "namespace": "dbt_utils"}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.pinterest_source.stg_pinterest_ads__keyword_history"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_ec26c02aa227b5ef7cc6b4f64f99d1c4", "schema": "dbt_test__audit", "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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_history_keyword_id___fivetran_synced"], "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_history_keyword_id___fivetran_synced.e73fb0a4db", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "dbt_utils_unique_combination_o_ec26c02aa227b5ef7cc6b4f64f99d1c4.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_history_keyword_id___fivetran_synced", "alias": "dbt_utils_unique_combination_o_ec26c02aa227b5ef7cc6b4f64f99d1c4", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__keyword_history"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/dbt_utils_unique_combination_o_ec26c02aa227b5ef7cc6b4f64f99d1c4.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_ec26c02aa227b5ef7cc6b4f64f99d1c4"}, "created_at": 1656616677.3598258, "compiled_sql": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n keyword_id, _fivetran_synced\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__keyword_history\"\n group by keyword_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_pinterest_ads__keyword_history"}, "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_report_date_day__keyword_id.fe6a646a5a": {"raw_sql": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_94b2fddbce48a3f704e0980f9065fdf9\") }}", "test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["date_day", "keyword_id"], "model": "{{ get_where_subquery(ref('stg_pinterest_ads__keyword_report')) }}"}, "namespace": "dbt_utils"}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.pinterest_source.stg_pinterest_ads__keyword_report"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_94b2fddbce48a3f704e0980f9065fdf9", "schema": "dbt_test__audit", "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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_report_date_day__keyword_id"], "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_report_date_day__keyword_id.fe6a646a5a", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "dbt_utils_unique_combination_o_94b2fddbce48a3f704e0980f9065fdf9.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_report_date_day__keyword_id", "alias": "dbt_utils_unique_combination_o_94b2fddbce48a3f704e0980f9065fdf9", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__keyword_report"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/dbt_utils_unique_combination_o_94b2fddbce48a3f704e0980f9065fdf9.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_94b2fddbce48a3f704e0980f9065fdf9"}, "created_at": 1656616677.3634188, "compiled_sql": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n date_day, keyword_id\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__keyword_report\"\n group by date_day, keyword_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_pinterest_ads__keyword_report"}, "model.pinterest_source.stg_pinterest_ads__campaign_history": {"raw_sql": "with base as (\n\n select *\n from {{ ref('stg_pinterest_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_pinterest_ads__campaign_history_tmp')),\n staging_columns=get_campaign_history_columns()\n )\n }}\n from base\n), \n\nfinal as (\n\n select \n id as campaign_id,\n name as campaign_name,\n status as campaign_status,\n _fivetran_synced,\n created_time as created_at\n from fields\n),\n\nmost_recent as (\n select \n *,\n row_number() over (partition by campaign_id order by _fivetran_synced desc) = 1 as is_most_recent_record\n from final\n)\n\nselect *\nfrom most_recent", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.pinterest_source.get_campaign_history_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.pinterest_source.stg_pinterest_ads__campaign_history_tmp", "model.pinterest_source.stg_pinterest_ads__campaign_history_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "stg_pinterest_ads__campaign_history"], "unique_id": "model.pinterest_source.stg_pinterest_ads__campaign_history", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "stg_pinterest_ads__campaign_history.sql", "original_file_path": "models/stg_pinterest_ads__campaign_history.sql", "name": "stg_pinterest_ads__campaign_history", "alias": "stg_pinterest_ads__campaign_history", "checksum": {"name": "sha256", "checksum": "a1feb2530555bff1e055db8281b66138d7e95444cb6a7490ea50960a4dac2200"}, "tags": [], "refs": [["stg_pinterest_ads__campaign_history_tmp"], ["stg_pinterest_ads__campaign_history_tmp"]], "sources": [], "description": "Each record represents a version of a Pinterest Campaign.", "columns": {"campaign_id": {"name": "campaign_id", "description": "Campaign ID.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "created_at": {"name": "created_at", "description": "Campaign creation time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_name": {"name": "campaign_name", "description": "Campaign name.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_status": {"name": "campaign_status", "description": "The status of the Campaign. One of \"ACTIVE\", \"ARCHIVED\", \"PAUSED\"", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "is_most_recent_record": {"name": "is_most_recent_record", "description": "Boolean representing whether the record is the most recent version of the object.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "pinterest_source://models/stg_pinterest_ads.yml", "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads__campaign_history.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "table"}, "created_at": 1656617322.71089, "compiled_sql": "with base as (\n\n select *\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__campaign_history_tmp\"\n), \n\nfields as (\n\n select\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n created_time\n \n as \n \n created_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 status\n \n as \n \n status\n \n\n\n\n from base\n), \n\nfinal as (\n\n select \n id as campaign_id,\n name as campaign_name,\n status as campaign_status,\n _fivetran_synced,\n created_time as created_at\n from fields\n),\n\nmost_recent as (\n select \n *,\n row_number() over (partition by campaign_id order by _fivetran_synced desc) = 1 as is_most_recent_record\n from final\n)\n\nselect *\nfrom most_recent", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__campaign_history\""}, "model.pinterest_source.stg_pinterest_ads__ad_group_history": {"raw_sql": "with base as (\n\n select *\n from {{ ref('stg_pinterest_ads__ad_group_history_tmp') }}\n), \n\nfields as (\n\n select\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_pinterest_ads__ad_group_history_tmp')),\n staging_columns=get_ad_group_history_columns()\n )\n }}\n from base\n), \n\nfinal as (\n\n select \n id as ad_group_id,\n name as ad_group_name,\n status as ad_group_status,\n _fivetran_synced,\n campaign_id,\n created_time as created_at,\n end_time,\n start_time\n from fields\n),\n\nmost_recent as (\n select\n *,\n row_number() over (partition by ad_group_id order by _fivetran_synced desc) = 1 as is_most_recent_record\n from final\n)\n\nselect *\nfrom most_recent", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.pinterest_source.get_ad_group_history_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.pinterest_source.stg_pinterest_ads__ad_group_history_tmp", "model.pinterest_source.stg_pinterest_ads__ad_group_history_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "stg_pinterest_ads__ad_group_history"], "unique_id": "model.pinterest_source.stg_pinterest_ads__ad_group_history", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "stg_pinterest_ads__ad_group_history.sql", "original_file_path": "models/stg_pinterest_ads__ad_group_history.sql", "name": "stg_pinterest_ads__ad_group_history", "alias": "stg_pinterest_ads__ad_group_history", "checksum": {"name": "sha256", "checksum": "c84e7a8de947ba3bc3101e41f3ce4686265dc854469da158e839759dc2844303"}, "tags": [], "refs": [["stg_pinterest_ads__ad_group_history_tmp"], ["stg_pinterest_ads__ad_group_history_tmp"]], "sources": [], "description": "Each record represents a version of a Pinterest Ad Group.", "columns": {"ad_group_id": {"name": "ad_group_id", "description": "Ad group ID.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_id": {"name": "campaign_id", "description": "Parent Campaign ID.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "created_at": {"name": "created_at", "description": "Ad group creation time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_name": {"name": "ad_group_name", "description": "Ad group name.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_status": {"name": "ad_group_status", "description": "The status of the Ad group. One of \"ACTIVE\", \"ARCHIVED\", \"PAUSED\"", "meta": {}, "data_type": null, "quote": null, "tags": []}, "start_time": {"name": "start_time", "description": "Ad group start time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "end_time": {"name": "end_time", "description": "Ad group end time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "is_most_recent_record": {"name": "is_most_recent_record", "description": "Boolean representing whether the record is the most recent version of the object.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "pinterest_source://models/stg_pinterest_ads.yml", "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads__ad_group_history.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "table"}, "created_at": 1656617322.712726, "compiled_sql": "with base as (\n\n select *\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__ad_group_history_tmp\"\n), \n\nfields as (\n\n select\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n campaign_id\n \n as \n \n campaign_id\n \n, \n \n \n created_time\n \n as \n \n created_time\n \n, \n \n \n end_time\n \n as \n \n end_time\n \n, \n \n \n id\n \n as \n \n id\n \n, \n \n \n name\n \n as \n \n name\n \n, \n \n \n start_time\n \n as \n \n start_time\n \n, \n \n \n status\n \n as \n \n status\n \n\n\n\n from base\n), \n\nfinal as (\n\n select \n id as ad_group_id,\n name as ad_group_name,\n status as ad_group_status,\n _fivetran_synced,\n campaign_id,\n created_time as created_at,\n end_time,\n start_time\n from fields\n),\n\nmost_recent as (\n select\n *,\n row_number() over (partition by ad_group_id order by _fivetran_synced desc) = 1 as is_most_recent_record\n from final\n)\n\nselect *\nfrom most_recent", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__ad_group_history\""}, "model.pinterest_source.stg_pinterest_ads__pin_promotion_history": {"raw_sql": "with base as (\n\n select *\n from {{ ref('stg_pinterest_ads__pin_promotion_history_tmp') }}\n), \n\nfields as (\n\n select\n\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_pinterest_ads__pin_promotion_history_tmp')),\n staging_columns=get_pin_promotion_history_columns()\n )\n }}\n from base\n), \n\nfinal as (\n\n select\n id as pin_promotion_id,\n ad_group_id,\n created_time as created_at,\n destination_url,\n {{ dbt_utils.split_part('destination_url', \"'?'\", 1) }} as base_url,\n {{ dbt_utils.get_url_host('destination_url') }} as url_host,\n '/' || {{ dbt_utils.get_url_path('destination_url') }} as url_path,\n {{ dbt_utils.get_url_parameter('destination_url', 'utm_source') }} as utm_source,\n {{ dbt_utils.get_url_parameter('destination_url', 'utm_medium') }} as utm_medium,\n {{ dbt_utils.get_url_parameter('destination_url', 'utm_campaign') }} as utm_campaign,\n {{ dbt_utils.get_url_parameter('destination_url', 'utm_content') }} as utm_content,\n {{ dbt_utils.get_url_parameter('destination_url', 'utm_term') }} as utm_term,\n name,\n pin_id,\n status,\n creative_type,\n _fivetran_synced\n from fields\n), \n\nsurrogate_key as (\n\n select \n *,\n row_number() over (partition by pin_promotion_id order by _fivetran_synced desc) = 1 as is_most_recent_record\n from final\n)\n\nselect *\nfrom surrogate_key", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.pinterest_source.get_pin_promotion_history_columns", "macro.fivetran_utils.fill_staging_columns", "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.pinterest_source.stg_pinterest_ads__pin_promotion_history_tmp", "model.pinterest_source.stg_pinterest_ads__pin_promotion_history_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "stg_pinterest_ads__pin_promotion_history"], "unique_id": "model.pinterest_source.stg_pinterest_ads__pin_promotion_history", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "stg_pinterest_ads__pin_promotion_history.sql", "original_file_path": "models/stg_pinterest_ads__pin_promotion_history.sql", "name": "stg_pinterest_ads__pin_promotion_history", "alias": "stg_pinterest_ads__pin_promotion_history", "checksum": {"name": "sha256", "checksum": "deeb1f8f5716ff5f01771026df528c7fd8d2e114297ae6fc716f62b60fac633c"}, "tags": [], "refs": [["stg_pinterest_ads__pin_promotion_history_tmp"], ["stg_pinterest_ads__pin_promotion_history_tmp"]], "sources": [], "description": "Each record represents a version of a Pinterest Pin promotion.", "columns": {"pin_promotion_id": {"name": "pin_promotion_id", "description": "Pin promotion ID.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_id": {"name": "ad_group_id", "description": "Pin promotion ad group ID.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "created_at": {"name": "created_at", "description": "Pin creation time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "destination_url": {"name": "destination_url", "description": "Pin destination URL.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Pin promotion name.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "pin_id": {"name": "pin_id", "description": "Original pin ID.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status": {"name": "status", "description": "The status of the Pin promotion. One of \"ACTIVE\", \"ARCHIVED\", \"PAUSED\"", "meta": {}, "data_type": null, "quote": null, "tags": []}, "creative_type": {"name": "creative_type", "description": "The creative type. \nOne of \"APP\", \"APP_VIDEO\", \"BOARD\", \"CAROUSEL\", \"CINEMATIC\", \"COMMERCE\", \"MAX_VIDEO\", \"NATIVE_VIDEO\", \"REGULAR\", \n\"SEARCH_PROMINENCE\", \"SEARCH_PROMINENCE_CAROUSEL\", \"SHOPPING\", \"SHOP_THE_PIN\", \"THIRD_PARTY\", or \"VIDEO\".\n", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "is_most_recent_record": {"name": "is_most_recent_record", "description": "Boolean representing whether the record is the most recent version of the object.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "base_url": {"name": "base_url", "description": "The base URL of the ad, extracted from the `destination_url`.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "url_host": {"name": "url_host", "description": "The URL host of the ad, extracted from the `destination_url`.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "url_path": {"name": "url_path", "description": "The URL path of the ad, extracted from the `destination_url`.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "utm_source": {"name": "utm_source", "description": "The utm_source parameter of the ad, extracted from the `destination_url`.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "utm_medium": {"name": "utm_medium", "description": "The utm_medium parameter of the ad, extracted from the `destination_url`.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "utm_campaign": {"name": "utm_campaign", "description": "The utm_campaign parameter of the ad, extracted from the `destination_url`.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "utm_content": {"name": "utm_content", "description": "The utm_content parameter of the ad, extracted from the `destination_url`.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "utm_term": {"name": "utm_term", "description": "The utm_term parameter of the ad, extracted from the `destination_url`.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "pinterest_source://models/stg_pinterest_ads.yml", "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads__pin_promotion_history.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "table"}, "created_at": 1656617322.7155719, "compiled_sql": "with base as (\n\n select *\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__pin_promotion_history_tmp\"\n), \n\nfields as (\n\n select\n\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n ad_group_id\n \n as \n \n ad_group_id\n \n, \n cast(null as \n varchar\n) as \n \n android_deep_link\n \n , \n cast(null as \n varchar\n) as \n \n click_tracking_url\n \n , \n \n \n created_time\n \n as \n \n created_time\n \n, \n \n \n creative_type\n \n as \n \n creative_type\n \n, \n \n \n destination_url\n \n as \n \n destination_url\n \n, \n \n \n id\n \n as \n \n id\n \n, \n cast(null as \n varchar\n) as \n \n ios_deep_link\n \n , \n cast(null as boolean) as \n \n is_pin_deleted\n \n , \n cast(null as boolean) as \n \n is_removable\n \n , \n \n \n name\n \n as \n \n name\n \n, \n \n \n pin_id\n \n as \n \n pin_id\n \n, \n cast(null as \n varchar\n) as \n \n review_status\n \n , \n \n \n status\n \n as \n \n status\n \n, \n cast(null as \n timestamp without time zone\n) as \n \n updated_time\n \n , \n cast(null as \n varchar\n) as \n \n view_tracking_url\n \n \n\n\n from base\n), \n\nfinal as (\n\n select\n id as pin_promotion_id,\n ad_group_id,\n created_time as created_at,\n destination_url,\n \n\n \n \n\n split_part(\n destination_url,\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 destination_url,\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 destination_url,\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 destination_url,\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 destination_url,\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 destination_url,\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 nullif(\n\n \n \n\n split_part(\n \n\n \n \n\n split_part(\n destination_url,\n 'utm_source=',\n 2\n )\n\n\n \n\n,\n '&',\n 1\n )\n\n\n \n\n,'') as utm_source,\n nullif(\n\n \n \n\n split_part(\n \n\n \n \n\n split_part(\n destination_url,\n 'utm_medium=',\n 2\n )\n\n\n \n\n,\n '&',\n 1\n )\n\n\n \n\n,'') as utm_medium,\n nullif(\n\n \n \n\n split_part(\n \n\n \n \n\n split_part(\n destination_url,\n 'utm_campaign=',\n 2\n )\n\n\n \n\n,\n '&',\n 1\n )\n\n\n \n\n,'') as utm_campaign,\n nullif(\n\n \n \n\n split_part(\n \n\n \n \n\n split_part(\n destination_url,\n 'utm_content=',\n 2\n )\n\n\n \n\n,\n '&',\n 1\n )\n\n\n \n\n,'') as utm_content,\n nullif(\n\n \n \n\n split_part(\n \n\n \n \n\n split_part(\n destination_url,\n 'utm_term=',\n 2\n )\n\n\n \n\n,\n '&',\n 1\n )\n\n\n \n\n,'') as utm_term,\n name,\n pin_id,\n status,\n creative_type,\n _fivetran_synced\n from fields\n), \n\nsurrogate_key as (\n\n select \n *,\n row_number() over (partition by pin_promotion_id order by _fivetran_synced desc) = 1 as is_most_recent_record\n from final\n)\n\nselect *\nfrom surrogate_key", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__pin_promotion_history\""}, "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_history_campaign_id___fivetran_synced.eff7196b87": {"raw_sql": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_0f71f27ed6b0ce2d4940b4361559871b\") }}", "test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["campaign_id", "_fivetran_synced"], "model": "{{ get_where_subquery(ref('stg_pinterest_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.pinterest_source.stg_pinterest_ads__campaign_history"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_0f71f27ed6b0ce2d4940b4361559871b", "schema": "dbt_test__audit", "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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_history_campaign_id___fivetran_synced"], "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_history_campaign_id___fivetran_synced.eff7196b87", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "dbt_utils_unique_combination_o_0f71f27ed6b0ce2d4940b4361559871b.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_history_campaign_id___fivetran_synced", "alias": "dbt_utils_unique_combination_o_0f71f27ed6b0ce2d4940b4361559871b", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__campaign_history"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/dbt_utils_unique_combination_o_0f71f27ed6b0ce2d4940b4361559871b.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_0f71f27ed6b0ce2d4940b4361559871b"}, "created_at": 1656617322.720012, "compiled_sql": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n campaign_id, _fivetran_synced\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__campaign_history\"\n group by campaign_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_pinterest_ads__campaign_history"}, "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_history_ad_group_id___fivetran_synced.1132e1f339": {"raw_sql": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_14ec492421aa290adbd40aba9f38efa7\") }}", "test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["ad_group_id", "_fivetran_synced"], "model": "{{ get_where_subquery(ref('stg_pinterest_ads__ad_group_history')) }}"}, "namespace": "dbt_utils"}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.pinterest_source.stg_pinterest_ads__ad_group_history"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_14ec492421aa290adbd40aba9f38efa7", "schema": "dbt_test__audit", "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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_history_ad_group_id___fivetran_synced"], "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_history_ad_group_id___fivetran_synced.1132e1f339", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "dbt_utils_unique_combination_o_14ec492421aa290adbd40aba9f38efa7.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_history_ad_group_id___fivetran_synced", "alias": "dbt_utils_unique_combination_o_14ec492421aa290adbd40aba9f38efa7", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__ad_group_history"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/dbt_utils_unique_combination_o_14ec492421aa290adbd40aba9f38efa7.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_14ec492421aa290adbd40aba9f38efa7"}, "created_at": 1656617322.7295191, "compiled_sql": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n ad_group_id, _fivetran_synced\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__ad_group_history\"\n group by ad_group_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_pinterest_ads__ad_group_history"}, "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_history__fivetran_synced__pin_promotion_id.8e9ab31ea9": {"raw_sql": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_e0501de9c3316348957b42725bcba175\") }}", "test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["_fivetran_synced", "pin_promotion_id"], "model": "{{ get_where_subquery(ref('stg_pinterest_ads__pin_promotion_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.pinterest_source.stg_pinterest_ads__pin_promotion_history"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_e0501de9c3316348957b42725bcba175", "schema": "dbt_test__audit", "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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_history__fivetran_synced__pin_promotion_id"], "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_history__fivetran_synced__pin_promotion_id.8e9ab31ea9", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "dbt_utils_unique_combination_o_e0501de9c3316348957b42725bcba175.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_history__fivetran_synced__pin_promotion_id", "alias": "dbt_utils_unique_combination_o_e0501de9c3316348957b42725bcba175", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__pin_promotion_history"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/dbt_utils_unique_combination_o_e0501de9c3316348957b42725bcba175.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_e0501de9c3316348957b42725bcba175"}, "created_at": 1656617322.733803, "compiled_sql": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n _fivetran_synced, pin_promotion_id\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__pin_promotion_history\"\n group by _fivetran_synced, pin_promotion_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_pinterest_ads__pin_promotion_history"}}, "sources": {"source.pinterest_source.pinterest_ads.pin_promotion_report": {"fqn": ["pinterest_source", "pinterest_ads", "pin_promotion_report"], "database": "postgres", "schema": "pinterest_source_integration_tests", "unique_id": "source.pinterest_source.pinterest_ads.pin_promotion_report", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "models/src_pinterest_ads.yml", "original_file_path": "models/src_pinterest_ads.yml", "name": "pin_promotion_report", "source_name": "pinterest_ads", "source_description": "", "loader": "Fivetran", "identifier": "pin_promotion_report_data", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 168, "period": "hour"}, "filter": null}, "external": null, "description": "Each record represents the daily performance of a Pinterest Pin promotion.", "columns": {"date": {"name": "date", "description": "The performance date of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "pin_promotion_id": {"name": "pin_promotion_id", "description": "The ID of the related Pin promotion.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_id": {"name": "ad_group_id", "description": "The ID of the related Ad group.", "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": []}, "advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impression_1": {"name": "impression_1", "description": "The number of paid pin impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impression_2": {"name": "impression_2", "description": "The number of earned pin impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clickthrough_1": {"name": "clickthrough_1", "description": "The number of paid pin clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clickthrough_2": {"name": "clickthrough_2", "description": "The number of earned outbound clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend_in_micro_dollar": {"name": "spend_in_micro_dollar", "description": "The amount of spend in micro dollars that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"pin_promotion_report_data\"", "created_at": 1656616677.402244}, "source.pinterest_source.pinterest_ads.pin_promotion_history": {"fqn": ["pinterest_source", "pinterest_ads", "pin_promotion_history"], "database": "postgres", "schema": "pinterest_source_integration_tests", "unique_id": "source.pinterest_source.pinterest_ads.pin_promotion_history", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "models/src_pinterest_ads.yml", "original_file_path": "models/src_pinterest_ads.yml", "name": "pin_promotion_history", "source_name": "pinterest_ads", "source_description": "", "loader": "Fivetran", "identifier": "pin_promotion_history_data", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 168, "period": "hour"}, "filter": null}, "external": null, "description": "Each record represents a version of a Pinterest Pin promotion.", "columns": {"id": {"name": "id", "description": "The ID of the related Pin promotion.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_id": {"name": "ad_group_id", "description": "The ID of the related Ad group.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "created_time": {"name": "created_time", "description": "Pin creation time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "destination_url": {"name": "destination_url", "description": "Pin destination URL.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Pin promotion name.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "pin_id": {"name": "pin_id", "description": "Original pin ID.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status": {"name": "status", "description": "The status of the Pin promotion. One of \"ACTIVE\", \"ARCHIVED\", \"PAUSED\"", "meta": {}, "data_type": null, "quote": null, "tags": []}, "creative_type": {"name": "creative_type", "description": "The creative type. \nOne of \"APP\", \"APP_VIDEO\", \"BOARD\", \"CAROUSEL\", \"CINEMATIC\", \"COMMERCE\", \"MAX_VIDEO\", \"NATIVE_VIDEO\", \"REGULAR\", \n\"SEARCH_PROMINENCE\", \"SEARCH_PROMINENCE_CAROUSEL\", \"SHOPPING\", \"SHOP_THE_PIN\", \"THIRD_PARTY\", or \"VIDEO\".\n", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"pin_promotion_history_data\"", "created_at": 1656616677.402378}, "source.pinterest_source.pinterest_ads.campaign_history": {"fqn": ["pinterest_source", "pinterest_ads", "campaign_history"], "database": "postgres", "schema": "pinterest_source_integration_tests", "unique_id": "source.pinterest_source.pinterest_ads.campaign_history", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "models/src_pinterest_ads.yml", "original_file_path": "models/src_pinterest_ads.yml", "name": "campaign_history", "source_name": "pinterest_ads", "source_description": "", "loader": "Fivetran", "identifier": "campaign_history_data", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 168, "period": "hour"}, "filter": null}, "external": null, "description": "Each record represents a version of a Pinterest Campaign.", "columns": {"id": {"name": "id", "description": "The ID of the related Campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "created_time": {"name": "created_time", "description": "Campaign creation time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Campaign name.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status": {"name": "status", "description": "The status of the Campaign. One of \"ACTIVE\", \"ARCHIVED\", \"PAUSED\"", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"campaign_history_data\"", "created_at": 1656616677.402454}, "source.pinterest_source.pinterest_ads.ad_group_history": {"fqn": ["pinterest_source", "pinterest_ads", "ad_group_history"], "database": "postgres", "schema": "pinterest_source_integration_tests", "unique_id": "source.pinterest_source.pinterest_ads.ad_group_history", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "models/src_pinterest_ads.yml", "original_file_path": "models/src_pinterest_ads.yml", "name": "ad_group_history", "source_name": "pinterest_ads", "source_description": "", "loader": "Fivetran", "identifier": "ad_group_history_data", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 168, "period": "hour"}, "filter": null}, "external": null, "description": "Each record represents a version of a Pinterest Ad Group.", "columns": {"id": {"name": "id", "description": "The ID of the related Ad group.", "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": []}, "created_time": {"name": "created_time", "description": "Ad group creation time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Ad group name.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status": {"name": "status", "description": "The status of the Ad group. One of \"ACTIVE\", \"ARCHIVED\", \"PAUSED\"", "meta": {}, "data_type": null, "quote": null, "tags": []}, "start_time": {"name": "start_time", "description": "Ad group start time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "end_time": {"name": "end_time", "description": "Ad group end time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"ad_group_history_data\"", "created_at": 1656616677.402527}, "source.pinterest_source.pinterest_ads.ad_group_report": {"fqn": ["pinterest_source", "pinterest_ads", "ad_group_report"], "database": "postgres", "schema": "pinterest_source_integration_tests", "unique_id": "source.pinterest_source.pinterest_ads.ad_group_report", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "models/src_pinterest_ads.yml", "original_file_path": "models/src_pinterest_ads.yml", "name": "ad_group_report", "source_name": "pinterest_ads", "source_description": "", "loader": "Fivetran", "identifier": "ad_group_report_data", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 168, "period": "hour"}, "filter": null}, "external": null, "description": "source table", "columns": {"date": {"name": "date", "description": "The performance date of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_id": {"name": "ad_group_id", "description": "The ID of the related Ad group.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_name": {"name": "ad_group_name", "description": "Name of the ad group.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_status": {"name": "ad_group_status", "description": "Status of the ad group.", "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": []}, "advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impression_1": {"name": "impression_1", "description": "The number of paid pin impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impression_2": {"name": "impression_2", "description": "The number of earned pin impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clickthrough_1": {"name": "clickthrough_1", "description": "The number of paid pin clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clickthrough_2": {"name": "clickthrough_2", "description": "The number of earned outbound clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend_in_micro_dollar": {"name": "spend_in_micro_dollar", "description": "The amount of spend in micro dollars that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"ad_group_report_data\"", "created_at": 1656616677.402604}, "source.pinterest_source.pinterest_ads.advertiser_history": {"fqn": ["pinterest_source", "pinterest_ads", "advertiser_history"], "database": "postgres", "schema": "pinterest_source_integration_tests", "unique_id": "source.pinterest_source.pinterest_ads.advertiser_history", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "models/src_pinterest_ads.yml", "original_file_path": "models/src_pinterest_ads.yml", "name": "advertiser_history", "source_name": "pinterest_ads", "source_description": "", "loader": "Fivetran", "identifier": "advertiser_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": "source table", "columns": {"id": {"name": "id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Name of the advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status": {"name": "status", "description": "Status of the advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "billing_profile_status": {"name": "billing_profile_status", "description": "Status of the billing profile.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "billing_type": {"name": "billing_type", "description": "The billing type of the advertiser. Will typically be CREDIT_CARD or INVOICE.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "country": {"name": "country", "description": "The country code where the advertiser is located.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "created_time": {"name": "created_time", "description": "Timestamp of when a record was created.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "currency": {"name": "currency", "description": "The currency code which the a", "meta": {}, "data_type": null, "quote": null, "tags": []}, "merchant_id": {"name": "merchant_id", "description": "Unique ID of the merchant associated with the advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "owner_user_id": {"name": "owner_user_id", "description": "Unique identifier of the owner user.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "updated_time": {"name": "updated_time", "description": "Timestamp of when a record was last updated.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"advertiser_history_data\"", "created_at": 1656616677.4026802}, "source.pinterest_source.pinterest_ads.advertiser_report": {"fqn": ["pinterest_source", "pinterest_ads", "advertiser_report"], "database": "postgres", "schema": "pinterest_source_integration_tests", "unique_id": "source.pinterest_source.pinterest_ads.advertiser_report", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "models/src_pinterest_ads.yml", "original_file_path": "models/src_pinterest_ads.yml", "name": "advertiser_report", "source_name": "pinterest_ads", "source_description": "", "loader": "Fivetran", "identifier": "advertiser_report_data", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 168, "period": "hour"}, "filter": null}, "external": null, "description": "source table", "columns": {"date": {"name": "date", "description": "The performance date of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impression_1": {"name": "impression_1", "description": "The number of paid pin impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impression_2": {"name": "impression_2", "description": "The number of earned pin impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clickthrough_1": {"name": "clickthrough_1", "description": "The number of paid pin clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clickthrough_2": {"name": "clickthrough_2", "description": "The number of earned outbound clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend_in_micro_dollar": {"name": "spend_in_micro_dollar", "description": "The amount of spend in micro dollars that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"advertiser_report_data\"", "created_at": 1656616677.402795}, "source.pinterest_source.pinterest_ads.campaign_report": {"fqn": ["pinterest_source", "pinterest_ads", "campaign_report"], "database": "postgres", "schema": "pinterest_source_integration_tests", "unique_id": "source.pinterest_source.pinterest_ads.campaign_report", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "models/src_pinterest_ads.yml", "original_file_path": "models/src_pinterest_ads.yml", "name": "campaign_report", "source_name": "pinterest_ads", "source_description": "", "loader": "Fivetran", "identifier": "campaign_report_data", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 168, "period": "hour"}, "filter": null}, "external": null, "description": "source table", "columns": {"date": {"name": "date", "description": "The performance date of the record.", "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": "Name of the campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_status": {"name": "campaign_status", "description": "Status of the campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impression_1": {"name": "impression_1", "description": "The number of paid pin impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impression_2": {"name": "impression_2", "description": "The number of earned pin impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clickthrough_1": {"name": "clickthrough_1", "description": "The number of paid pin clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clickthrough_2": {"name": "clickthrough_2", "description": "The number of earned outbound clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend_in_micro_dollar": {"name": "spend_in_micro_dollar", "description": "The amount of spend in micro dollars that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"campaign_report_data\"", "created_at": 1656616677.402869}, "source.pinterest_source.pinterest_ads.keyword_history": {"fqn": ["pinterest_source", "pinterest_ads", "keyword_history"], "database": "postgres", "schema": "pinterest_source_integration_tests", "unique_id": "source.pinterest_source.pinterest_ads.keyword_history", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "models/src_pinterest_ads.yml", "original_file_path": "models/src_pinterest_ads.yml", "name": "keyword_history", "source_name": "pinterest_ads", "source_description": "", "loader": "Fivetran", "identifier": "keyword_history_data", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 168, "period": "hour"}, "filter": null}, "external": null, "description": "source table", "columns": {"id": {"name": "id", "description": "Unique identifier of the keyword.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "value": {"name": "value", "description": "The text value that makes upd the keyword.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_id": {"name": "_fivetran_id", "description": "The unique identifier of the record within the Fivetran synced table.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_id": {"name": "ad_group_id", "description": "The ID of the related Ad group.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "archived": {"name": "archived", "description": "Boolean indicating if the keyword is archived.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "bid": {"name": "bid", "description": "Bid amount set for the keyword.", "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": []}, "match_type": {"name": "match_type", "description": "Type of match the keyword is tied to. Either Exact or Broad.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "parent_type": {"name": "parent_type", "description": "Identifier of what grain the parent type is. Ad group or campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"keyword_history_data\"", "created_at": 1656616677.4029388}, "source.pinterest_source.pinterest_ads.keyword_report": {"fqn": ["pinterest_source", "pinterest_ads", "keyword_report"], "database": "postgres", "schema": "pinterest_source_integration_tests", "unique_id": "source.pinterest_source.pinterest_ads.keyword_report", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "models/src_pinterest_ads.yml", "original_file_path": "models/src_pinterest_ads.yml", "name": "keyword_report", "source_name": "pinterest_ads", "source_description": "", "loader": "Fivetran", "identifier": "keyword_report_data", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 168, "period": "hour"}, "filter": null}, "external": null, "description": "source table", "columns": {"date": {"name": "date", "description": "The performance date of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "keyword_id": {"name": "keyword_id", "description": "Unique identifier of the keyword.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "pin_promotion_id": {"name": "pin_promotion_id", "description": "The ID of the related Pin promotion.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_id": {"name": "ad_group_id", "description": "The ID of the related Ad group.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_name": {"name": "ad_group_name", "description": "Name of the ad group.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_status": {"name": "ad_group_status", "description": "Status of the ad group.", "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": []}, "advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impression_1": {"name": "impression_1", "description": "The number of paid pin impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impression_2": {"name": "impression_2", "description": "The number of earned pin impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clickthrough_1": {"name": "clickthrough_1", "description": "The number of paid pin clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clickthrough_2": {"name": "clickthrough_2", "description": "The number of earned outbound clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend_in_micro_dollar": {"name": "spend_in_micro_dollar", "description": "The amount of spend in micro dollars that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"keyword_report_data\"", "created_at": 1656616677.403014}}, "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": 1656616676.5009222}, "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": 1656616676.501611}, "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": 1656616676.50785}, "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": 1656616676.508451}, "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": 1656616676.5088289}, "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": 1656616676.509171}, "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": 1656616676.5097358}, "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": 1656616676.5101519}, "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": 1656616676.51035}, "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": 1656616676.510738}, "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": 1656616676.511342}, "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": 1656616676.511445}, "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": 1656616676.511667}, "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": 1656616676.511783}, "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": 1656616676.513032}, "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": 1656616676.5135639}, "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": 1656616676.513814}, "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": 1656616676.5145118}, "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": 1656616676.515569}, "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": 1656616676.516856}, "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": 1656616676.5170848}, "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": 1656616676.51724}, "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": 1656616676.517437}, "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": 1656616676.517657}, "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": 1656616676.518186}, "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": 1656616676.518527}, "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": 1656616676.518888}, "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": 1656616676.519531}, "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": 1656616676.519857}, "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": 1656616676.5236669}, "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": 1656616676.523871}, "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": 1656616676.524107}, "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": 1656616676.524256}, "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": 1656616676.524354}, "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": 1656616676.525213}, "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": 1656616676.525381}, "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": 1656616676.525547}, "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": 1656616676.526506}, "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": 1656616676.528397}, "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": 1656616676.5316238}, "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": 1656616676.53191}, "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": 1656616676.5320718}, "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": 1656616676.532162}, "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": 1656616676.532508}, "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": 1656616676.533581}, "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": 1656616676.533822}, "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": 1656616676.534118}, "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": 1656616676.534615}, "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": 1656616676.540888}, "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": 1656616676.543314}, "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": 1656616676.543963}, "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": 1656616676.5442822}, "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": 1656616676.5447838}, "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": 1656616676.545173}, "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": 1656616676.546037}, "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": 1656616676.5465899}, "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": 1656616676.5472288}, "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": 1656616676.549956}, "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": 1656616676.551098}, "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": 1656616676.551339}, "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": 1656616676.55176}, "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": 1656616676.552019}, "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": 1656616676.552841}, "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": 1656616676.553801}, "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": 1656616676.5593889}, "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": 1656616676.5644538}, "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": 1656616676.565708}, "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": 1656616676.566911}, "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": 1656616676.567662}, "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": 1656616676.571468}, "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": 1656616676.571955}, "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": 1656616676.572138}, "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": 1656616676.572333}, "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": 1656616676.57291}, "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": 1656616676.576811}, "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": 1656616676.577255}, "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": 1656616676.577492}, "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": 1656616676.578748}, "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": 1656616676.5791612}, "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": 1656616676.5793338}, "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": 1656616676.579508}, "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": 1656616676.579774}, "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": 1656616676.5826619}, "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": 1656616676.5871592}, "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": 1656616676.588081}, "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": 1656616676.588325}, "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": 1656616676.588794}, "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": 1656616676.5889359}, "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": 1656616676.589047}, "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": 1656616676.589203}, "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": 1656616676.589312}, "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": 1656616676.589777}, "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": 1656616676.590019}, "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": 1656616676.591221}, "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": 1656616676.591736}, "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": 1656616676.591959}, "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": 1656616676.592511}, "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": 1656616676.592962}, "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": 1656616676.5932999}, "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": 1656616676.5939689}, "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": 1656616676.594256}, "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": 1656616676.5947552}, "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": 1656616676.595019}, "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": 1656616676.595371}, "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": 1656616676.5960078}, "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": 1656616676.597174}, "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": 1656616676.5977778}, "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": 1656616676.5980742}, "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": 1656616676.60002}, "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": 1656616676.6016588}, "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": 1656616676.602564}, "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": 1656616676.6028411}, "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": 1656616676.6035259}, "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": 1656616676.603814}, "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": 1656616676.6039958}, "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": 1656616676.6041942}, "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": 1656616676.604807}, "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": 1656616676.60496}, "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": 1656616676.605119}, "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": 1656616676.605555}, "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": 1656616676.6071749}, "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": 1656616676.60748}, "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": 1656616676.60767}, "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": 1656616676.607878}, "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": 1656616676.608056}, "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": 1656616676.608216}, "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": 1656616676.608427}, "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": 1656616676.6086988}, "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": 1656616676.608943}, "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": 1656616676.609592}, "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": 1656616676.609819}, "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": 1656616676.6100109}, "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": 1656616676.610519}, "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": 1656616676.610674}, "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": 1656616676.6108952}, "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": 1656616676.6113222}, "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": 1656616676.612028}, "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": 1656616676.6121962}, "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": 1656616676.612402}, "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": 1656616676.6125708}, "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": 1656616676.612851}, "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": 1656616676.613345}, "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": 1656616676.615215}, "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": 1656616676.615552}, "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": 1656616676.615812}, "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": 1656616676.616004}, "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": 1656616676.616262}, "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": 1656616676.616579}, "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": 1656616676.616823}, "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": 1656616676.617281}, "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": 1656616676.617496}, "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": 1656616676.617684}, "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": 1656616676.619684}, "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": 1656616676.6198668}, "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": 1656616676.620219}, "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": 1656616676.62044}, "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": 1656616676.6208372}, "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": 1656616676.621087}, "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": 1656616676.6217742}, "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": 1656616676.622059}, "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": 1656616676.622973}, "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": 1656616676.623704}, "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": 1656616676.62401}, "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": 1656616676.624298}, "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": 1656616676.624568}, "macro.dbt_utils.except": {"unique_id": "macro.dbt_utils.except", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.624918}, "macro.dbt_utils.default__except": {"unique_id": "macro.dbt_utils.default__except", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.6249979}, "macro.dbt_utils.bigquery__except": {"unique_id": "macro.dbt_utils.bigquery__except", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.6250648}, "macro.dbt_utils.replace": {"unique_id": "macro.dbt_utils.replace", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.625448}, "macro.dbt_utils.default__replace": {"unique_id": "macro.dbt_utils.default__replace", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.625609}, "macro.dbt_utils.concat": {"unique_id": "macro.dbt_utils.concat", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.625908}, "macro.dbt_utils.default__concat": {"unique_id": "macro.dbt_utils.default__concat", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.6262379}, "macro.dbt_utils.type_string": {"unique_id": "macro.dbt_utils.type_string", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.6269639}, "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/pinterest/dbt_pinterest_source/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": 1656616676.6270342}, "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/pinterest/dbt_pinterest_source/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": 1656616676.627104}, "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/pinterest/dbt_pinterest_source/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": 1656616676.6271691}, "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/pinterest/dbt_pinterest_source/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": 1656616676.6272361}, "macro.dbt_utils.type_timestamp": {"unique_id": "macro.dbt_utils.type_timestamp", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.627388}, "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/pinterest/dbt_pinterest_source/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": 1656616676.627458}, "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/pinterest/dbt_pinterest_source/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": 1656616676.6275241}, "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/pinterest/dbt_pinterest_source/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": 1656616676.627599}, "macro.dbt_utils.type_float": {"unique_id": "macro.dbt_utils.type_float", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.627754}, "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/pinterest/dbt_pinterest_source/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": 1656616676.6278222}, "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/pinterest/dbt_pinterest_source/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": 1656616676.627887}, "macro.dbt_utils.type_numeric": {"unique_id": "macro.dbt_utils.type_numeric", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.628039}, "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/pinterest/dbt_pinterest_source/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": 1656616676.628107}, "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/pinterest/dbt_pinterest_source/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": 1656616676.628173}, "macro.dbt_utils.type_bigint": {"unique_id": "macro.dbt_utils.type_bigint", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.6283252}, "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/pinterest/dbt_pinterest_source/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": 1656616676.628396}, "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/pinterest/dbt_pinterest_source/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": 1656616676.62847}, "macro.dbt_utils.type_int": {"unique_id": "macro.dbt_utils.type_int", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.628695}, "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/pinterest/dbt_pinterest_source/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": 1656616676.628764}, "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/pinterest/dbt_pinterest_source/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": 1656616676.628832}, "macro.dbt_utils._is_relation": {"unique_id": "macro.dbt_utils._is_relation", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.6293492}, "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/pinterest/dbt_pinterest_source/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": 1656616676.629796}, "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/pinterest/dbt_pinterest_source/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": 1656616676.629931}, "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/pinterest/dbt_pinterest_source/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": 1656616676.630226}, "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/pinterest/dbt_pinterest_source/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": 1656616676.630367}, "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/pinterest/dbt_pinterest_source/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": 1656616676.6304681}, "macro.dbt_utils.length": {"unique_id": "macro.dbt_utils.length", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.630823}, "macro.dbt_utils.default__length": {"unique_id": "macro.dbt_utils.default__length", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.6309261}, "macro.dbt_utils.redshift__length": {"unique_id": "macro.dbt_utils.redshift__length", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.631022}, "macro.dbt_utils.dateadd": {"unique_id": "macro.dbt_utils.dateadd", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.631606}, "macro.dbt_utils.default__dateadd": {"unique_id": "macro.dbt_utils.default__dateadd", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.631764}, "macro.dbt_utils.bigquery__dateadd": {"unique_id": "macro.dbt_utils.bigquery__dateadd", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.6319292}, "macro.dbt_utils.postgres__dateadd": {"unique_id": "macro.dbt_utils.postgres__dateadd", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.6320808}, "macro.dbt_utils.redshift__dateadd": {"unique_id": "macro.dbt_utils.redshift__dateadd", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.632271}, "macro.dbt_utils.intersect": {"unique_id": "macro.dbt_utils.intersect", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.63257}, "macro.dbt_utils.default__intersect": {"unique_id": "macro.dbt_utils.default__intersect", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.63264}, "macro.dbt_utils.bigquery__intersect": {"unique_id": "macro.dbt_utils.bigquery__intersect", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.632712}, "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/pinterest/dbt_pinterest_source/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": 1656616676.633121}, "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/pinterest/dbt_pinterest_source/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": 1656616676.6332648}, "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/pinterest/dbt_pinterest_source/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": 1656616676.633488}, "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/pinterest/dbt_pinterest_source/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": 1656616676.633631}, "macro.dbt_utils.right": {"unique_id": "macro.dbt_utils.right", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.634629}, "macro.dbt_utils.default__right": {"unique_id": "macro.dbt_utils.default__right", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.6347919}, "macro.dbt_utils.bigquery__right": {"unique_id": "macro.dbt_utils.bigquery__right", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.634964}, "macro.dbt_utils.snowflake__right": {"unique_id": "macro.dbt_utils.snowflake__right", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.6351318}, "macro.dbt_utils.listagg": {"unique_id": "macro.dbt_utils.listagg", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.637749}, "macro.dbt_utils.default__listagg": {"unique_id": "macro.dbt_utils.default__listagg", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.638203}, "macro.dbt_utils.bigquery__listagg": {"unique_id": "macro.dbt_utils.bigquery__listagg", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.638516}, "macro.dbt_utils.postgres__listagg": {"unique_id": "macro.dbt_utils.postgres__listagg", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.6390002}, "macro.dbt_utils.redshift__listagg": {"unique_id": "macro.dbt_utils.redshift__listagg", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.640115}, "macro.dbt_utils.datediff": {"unique_id": "macro.dbt_utils.datediff", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.642727}, "macro.dbt_utils.default__datediff": {"unique_id": "macro.dbt_utils.default__datediff", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.642907}, "macro.dbt_utils.bigquery__datediff": {"unique_id": "macro.dbt_utils.bigquery__datediff", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.643072}, "macro.dbt_utils.postgres__datediff": {"unique_id": "macro.dbt_utils.postgres__datediff", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.645262}, "macro.dbt_utils.redshift__datediff": {"unique_id": "macro.dbt_utils.redshift__datediff", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.6455}, "macro.dbt_utils.safe_cast": {"unique_id": "macro.dbt_utils.safe_cast", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.645997}, "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/pinterest/dbt_pinterest_source/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": 1656616676.646136}, "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/pinterest/dbt_pinterest_source/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": 1656616676.6462588}, "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/pinterest/dbt_pinterest_source/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": 1656616676.646393}, "macro.dbt_utils.hash": {"unique_id": "macro.dbt_utils.hash", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.6467578}, "macro.dbt_utils.default__hash": {"unique_id": "macro.dbt_utils.default__hash", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.6468952}, "macro.dbt_utils.bigquery__hash": {"unique_id": "macro.dbt_utils.bigquery__hash", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.647022}, "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/pinterest/dbt_pinterest_source/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": 1656616676.647382}, "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/pinterest/dbt_pinterest_source/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": 1656616676.647516}, "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/pinterest/dbt_pinterest_source/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": 1656616676.647635}, "macro.dbt_utils.identifier": {"unique_id": "macro.dbt_utils.identifier", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.648143}, "macro.dbt_utils.default__identifier": {"unique_id": "macro.dbt_utils.default__identifier", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.648246}, "macro.dbt_utils.bigquery__identifier": {"unique_id": "macro.dbt_utils.bigquery__identifier", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.6483572}, "macro.dbt_utils.any_value": {"unique_id": "macro.dbt_utils.any_value", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.648736}, "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/pinterest/dbt_pinterest_source/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": 1656616676.6488378}, "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/pinterest/dbt_pinterest_source/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": 1656616676.648939}, "macro.dbt_utils.position": {"unique_id": "macro.dbt_utils.position", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.649347}, "macro.dbt_utils.default__position": {"unique_id": "macro.dbt_utils.default__position", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.649479}, "macro.dbt_utils.bigquery__position": {"unique_id": "macro.dbt_utils.bigquery__position", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.649612}, "macro.dbt_utils.string_literal": {"unique_id": "macro.dbt_utils.string_literal", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.6499789}, "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/pinterest/dbt_pinterest_source/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": 1656616676.650079}, "macro.dbt_utils.current_timestamp": {"unique_id": "macro.dbt_utils.current_timestamp", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.6506839}, "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/pinterest/dbt_pinterest_source/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": 1656616676.650791}, "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/pinterest/dbt_pinterest_source/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": 1656616676.650858}, "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/pinterest/dbt_pinterest_source/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": 1656616676.650924}, "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/pinterest/dbt_pinterest_source/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": 1656616676.651077}, "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/pinterest/dbt_pinterest_source/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": 1656616676.6511848}, "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/pinterest/dbt_pinterest_source/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": 1656616676.65134}, "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/pinterest/dbt_pinterest_source/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": 1656616676.6514492}, "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/pinterest/dbt_pinterest_source/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": 1656616676.651586}, "macro.dbt_utils.width_bucket": {"unique_id": "macro.dbt_utils.width_bucket", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.652967}, "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/pinterest/dbt_pinterest_source/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": 1656616676.653436}, "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/pinterest/dbt_pinterest_source/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": 1656616676.654021}, "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/pinterest/dbt_pinterest_source/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": 1656616676.6543748}, "macro.dbt_utils.array_concat": {"unique_id": "macro.dbt_utils.array_concat", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.654909}, "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/pinterest/dbt_pinterest_source/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": 1656616676.655048}, "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/pinterest/dbt_pinterest_source/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": 1656616676.6551769}, "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/pinterest/dbt_pinterest_source/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": 1656616676.655305}, "macro.dbt_utils.bool_or": {"unique_id": "macro.dbt_utils.bool_or", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.655703}, "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/pinterest/dbt_pinterest_source/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": 1656616676.65581}, "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/pinterest/dbt_pinterest_source/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": 1656616676.655989}, "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/pinterest/dbt_pinterest_source/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": 1656616676.656087}, "macro.dbt_utils.last_day": {"unique_id": "macro.dbt_utils.last_day", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.656678}, "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/pinterest/dbt_pinterest_source/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": 1656616676.656946}, "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/pinterest/dbt_pinterest_source/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": 1656616676.6570911}, "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/pinterest/dbt_pinterest_source/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": 1656616676.657482}, "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/pinterest/dbt_pinterest_source/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": 1656616676.657653}, "macro.dbt_utils.split_part": {"unique_id": "macro.dbt_utils.split_part", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.659064}, "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/pinterest/dbt_pinterest_source/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": 1656616676.6592278}, "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/pinterest/dbt_pinterest_source/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": 1656616676.659447}, "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/pinterest/dbt_pinterest_source/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": 1656616676.659782}, "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/pinterest/dbt_pinterest_source/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": 1656616676.6601129}, "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/pinterest/dbt_pinterest_source/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": 1656616676.660474}, "macro.dbt_utils.date_trunc": {"unique_id": "macro.dbt_utils.date_trunc", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.660867}, "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/pinterest/dbt_pinterest_source/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": 1656616676.660992}, "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/pinterest/dbt_pinterest_source/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": 1656616676.66112}, "macro.dbt_utils.array_construct": {"unique_id": "macro.dbt_utils.array_construct", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.661692}, "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/pinterest/dbt_pinterest_source/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": 1656616676.661928}, "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/pinterest/dbt_pinterest_source/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": 1656616676.6620731}, "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/pinterest/dbt_pinterest_source/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": 1656616676.6622121}, "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/pinterest/dbt_pinterest_source/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": 1656616676.6623418}, "macro.dbt_utils._is_ephemeral": {"unique_id": "macro.dbt_utils._is_ephemeral", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.663681}, "macro.dbt_utils.array_append": {"unique_id": "macro.dbt_utils.array_append", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.664362}, "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/pinterest/dbt_pinterest_source/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": 1656616676.664526}, "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/pinterest/dbt_pinterest_source/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": 1656616676.664746}, "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/pinterest/dbt_pinterest_source/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": 1656616676.664957}, "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/pinterest/dbt_pinterest_source/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": 1656616676.671155}, "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/pinterest/dbt_pinterest_source/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": 1656616676.671835}, "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/pinterest/dbt_pinterest_source/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": 1656616676.672276}, "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/pinterest/dbt_pinterest_source/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": 1656616676.672918}, "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/pinterest/dbt_pinterest_source/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": 1656616676.678905}, "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/pinterest/dbt_pinterest_source/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": 1656616676.6796522}, "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/pinterest/dbt_pinterest_source/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": 1656616676.6801972}, "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/pinterest/dbt_pinterest_source/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": 1656616676.680831}, "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/pinterest/dbt_pinterest_source/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": 1656616676.681629}, "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/pinterest/dbt_pinterest_source/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": 1656616676.682158}, "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/pinterest/dbt_pinterest_source/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": 1656616676.682506}, "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/pinterest/dbt_pinterest_source/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": 1656616676.683222}, "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/pinterest/dbt_pinterest_source/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": 1656616676.683481}, "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/pinterest/dbt_pinterest_source/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": 1656616676.6839738}, "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/pinterest/dbt_pinterest_source/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": 1656616676.684482}, "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/pinterest/dbt_pinterest_source/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": 1656616676.685415}, "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/pinterest/dbt_pinterest_source/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": 1656616676.685805}, "macro.dbt_utils.test_recency": {"unique_id": "macro.dbt_utils.test_recency", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.686338}, "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/pinterest/dbt_pinterest_source/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": 1656616676.6867368}, "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/pinterest/dbt_pinterest_source/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": 1656616676.6871638}, "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/pinterest/dbt_pinterest_source/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": 1656616676.68737}, "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/pinterest/dbt_pinterest_source/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": 1656616676.6880908}, "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/pinterest/dbt_pinterest_source/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": 1656616676.688721}, "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/pinterest/dbt_pinterest_source/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": 1656616676.689365}, "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/pinterest/dbt_pinterest_source/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": 1656616676.6897888}, "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/pinterest/dbt_pinterest_source/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": 1656616676.6902971}, "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/pinterest/dbt_pinterest_source/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": 1656616676.6904829}, "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/pinterest/dbt_pinterest_source/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": 1656616676.690912}, "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/pinterest/dbt_pinterest_source/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": 1656616676.6911051}, "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/pinterest/dbt_pinterest_source/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": 1656616676.691848}, "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/pinterest/dbt_pinterest_source/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": 1656616676.6926}, "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/pinterest/dbt_pinterest_source/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": 1656616676.693384}, "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/pinterest/dbt_pinterest_source/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": 1656616676.693781}, "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/pinterest/dbt_pinterest_source/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": 1656616676.694602}, "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/pinterest/dbt_pinterest_source/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": 1656616676.6949492}, "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/pinterest/dbt_pinterest_source/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": 1656616676.69562}, "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/pinterest/dbt_pinterest_source/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": 1656616676.6962}, "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/pinterest/dbt_pinterest_source/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": 1656616676.6970801}, "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/pinterest/dbt_pinterest_source/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": 1656616676.697958}, "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/pinterest/dbt_pinterest_source/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": 1656616676.698561}, "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/pinterest/dbt_pinterest_source/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": 1656616676.698745}, "macro.dbt_utils.test_equality": {"unique_id": "macro.dbt_utils.test_equality", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.6996899}, "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/pinterest/dbt_pinterest_source/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": 1656616676.700735}, "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/pinterest/dbt_pinterest_source/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": 1656616676.704152}, "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/pinterest/dbt_pinterest_source/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": 1656616676.705909}, "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/pinterest/dbt_pinterest_source/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": 1656616676.70654}, "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/pinterest/dbt_pinterest_source/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": 1656616676.706732}, "macro.dbt_utils.pretty_time": {"unique_id": "macro.dbt_utils.pretty_time", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.707176}, "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/pinterest/dbt_pinterest_source/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": 1656616676.707447}, "macro.dbt_utils.log_info": {"unique_id": "macro.dbt_utils.log_info", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.707835}, "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/pinterest/dbt_pinterest_source/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": 1656616676.7080388}, "macro.dbt_utils.slugify": {"unique_id": "macro.dbt_utils.slugify", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.708649}, "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/pinterest/dbt_pinterest_source/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": 1656616676.709462}, "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/pinterest/dbt_pinterest_source/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": 1656616676.710142}, "macro.dbt_utils.date_spine": {"unique_id": "macro.dbt_utils.date_spine", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.710398}, "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/pinterest/dbt_pinterest_source/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": 1656616676.710798}, "macro.dbt_utils.nullcheck_table": {"unique_id": "macro.dbt_utils.nullcheck_table", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.7112188}, "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/pinterest/dbt_pinterest_source/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": 1656616676.711715}, "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/pinterest/dbt_pinterest_source/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": 1656616676.7125728}, "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/pinterest/dbt_pinterest_source/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": 1656616676.713504}, "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/pinterest/dbt_pinterest_source/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": 1656616676.714499}, "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/pinterest/dbt_pinterest_source/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": 1656616676.7149582}, "macro.dbt_utils.generate_series": {"unique_id": "macro.dbt_utils.generate_series", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.7151518}, "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/pinterest/dbt_pinterest_source/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": 1656616676.715667}, "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/pinterest/dbt_pinterest_source/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": 1656616676.716382}, "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/pinterest/dbt_pinterest_source/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": 1656616676.7174342}, "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/pinterest/dbt_pinterest_source/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": 1656616676.718107}, "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/pinterest/dbt_pinterest_source/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": 1656616676.718442}, "macro.dbt_utils.star": {"unique_id": "macro.dbt_utils.star", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.7192872}, "macro.dbt_utils.default__star": {"unique_id": "macro.dbt_utils.default__star", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.720464}, "macro.dbt_utils.unpivot": {"unique_id": "macro.dbt_utils.unpivot", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.722399}, "macro.dbt_utils.default__unpivot": {"unique_id": "macro.dbt_utils.default__unpivot", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.7250361}, "macro.dbt_utils.union_relations": {"unique_id": "macro.dbt_utils.union_relations", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.728009}, "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/pinterest/dbt_pinterest_source/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": 1656616676.7509398}, "macro.dbt_utils.group_by": {"unique_id": "macro.dbt_utils.group_by", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.751495}, "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/pinterest/dbt_pinterest_source/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": 1656616676.7517672}, "macro.dbt_utils.deduplicate": {"unique_id": "macro.dbt_utils.deduplicate", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.754689}, "macro.dbt_utils.default__deduplicate": {"unique_id": "macro.dbt_utils.default__deduplicate", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.754981}, "macro.dbt_utils.redshift__deduplicate": {"unique_id": "macro.dbt_utils.redshift__deduplicate", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.7552252}, "macro.dbt_utils.postgres__deduplicate": {"unique_id": "macro.dbt_utils.postgres__deduplicate", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.755439}, "macro.dbt_utils.snowflake__deduplicate": {"unique_id": "macro.dbt_utils.snowflake__deduplicate", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.755639}, "macro.dbt_utils.bigquery__deduplicate": {"unique_id": "macro.dbt_utils.bigquery__deduplicate", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.755821}, "macro.dbt_utils.surrogate_key": {"unique_id": "macro.dbt_utils.surrogate_key", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.756692}, "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/pinterest/dbt_pinterest_source/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": 1656616676.7578502}, "macro.dbt_utils.safe_add": {"unique_id": "macro.dbt_utils.safe_add", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.758388}, "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/pinterest/dbt_pinterest_source/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": 1656616676.7587142}, "macro.dbt_utils.nullcheck": {"unique_id": "macro.dbt_utils.nullcheck", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.759157}, "macro.dbt_utils.default__nullcheck": {"unique_id": "macro.dbt_utils.default__nullcheck", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.759525}, "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/pinterest/dbt_pinterest_source/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": 1656616676.7612102}, "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/pinterest/dbt_pinterest_source/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": 1656616676.761589}, "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/pinterest/dbt_pinterest_source/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": 1656616676.762552}, "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/pinterest/dbt_pinterest_source/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": 1656616676.763114}, "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/pinterest/dbt_pinterest_source/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": 1656616676.7644968}, "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/pinterest/dbt_pinterest_source/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": 1656616676.766199}, "macro.dbt_utils.pivot": {"unique_id": "macro.dbt_utils.pivot", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.7675872}, "macro.dbt_utils.default__pivot": {"unique_id": "macro.dbt_utils.default__pivot", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.7685592}, "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/pinterest/dbt_pinterest_source/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": 1656616676.769182}, "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/pinterest/dbt_pinterest_source/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": 1656616676.77003}, "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/pinterest/dbt_pinterest_source/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": 1656616676.77057}, "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/pinterest/dbt_pinterest_source/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": 1656616676.771216}, "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/pinterest/dbt_pinterest_source/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": 1656616676.771822}, "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/pinterest/dbt_pinterest_source/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": 1656616676.77194}, "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/pinterest/dbt_pinterest_source/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": 1656616676.7720408}, "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/pinterest/dbt_pinterest_source/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": 1656616676.7721322}, "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/pinterest/dbt_pinterest_source/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": 1656616676.773324}, "macro.dbt_utils.haversine_distance": {"unique_id": "macro.dbt_utils.haversine_distance", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.773786}, "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/pinterest/dbt_pinterest_source/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": 1656616676.775434}, "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/pinterest/dbt_pinterest_source/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": 1656616676.776466}, "macro.spark_utils.get_tables": {"unique_id": "macro.spark_utils.get_tables", "package_name": "spark_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.782084}, "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/pinterest/dbt_pinterest_source/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": 1656616676.7828748}, "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/pinterest/dbt_pinterest_source/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": 1656616676.783929}, "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/pinterest/dbt_pinterest_source/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": 1656616676.784862}, "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/pinterest/dbt_pinterest_source/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": 1656616676.78584}, "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/pinterest/dbt_pinterest_source/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": 1656616676.7868319}, "macro.spark_utils.spark__concat": {"unique_id": "macro.spark_utils.spark__concat", "package_name": "spark_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.787222}, "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/pinterest/dbt_pinterest_source/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": 1656616676.787421}, "macro.spark_utils.spark__dateadd": {"unique_id": "macro.spark_utils.spark__dateadd", "package_name": "spark_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.7901719}, "macro.spark_utils.spark__datediff": {"unique_id": "macro.spark_utils.spark__datediff", "package_name": "spark_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.7977338}, "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/pinterest/dbt_pinterest_source/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": 1656616676.798065}, "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/pinterest/dbt_pinterest_source/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": 1656616676.798145}, "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/pinterest/dbt_pinterest_source/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": 1656616676.798809}, "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/pinterest/dbt_pinterest_source/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": 1656616676.800747}, "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/pinterest/dbt_pinterest_source/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": 1656616676.801161}, "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/pinterest/dbt_pinterest_source/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": 1656616676.8014688}, "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/pinterest/dbt_pinterest_source/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": 1656616676.80178}, "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/pinterest/dbt_pinterest_source/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": 1656616676.8024309}, "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/pinterest/dbt_pinterest_source/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": 1656616676.802667}, "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/pinterest/dbt_pinterest_source/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": 1656616676.803019}, "macro.fivetran_utils.enabled_vars": {"unique_id": "macro.fivetran_utils.enabled_vars", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.80356}, "macro.fivetran_utils.percentile": {"unique_id": "macro.fivetran_utils.percentile", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.804696}, "macro.fivetran_utils.default__percentile": {"unique_id": "macro.fivetran_utils.default__percentile", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.804883}, "macro.fivetran_utils.redshift__percentile": {"unique_id": "macro.fivetran_utils.redshift__percentile", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.805069}, "macro.fivetran_utils.bigquery__percentile": {"unique_id": "macro.fivetran_utils.bigquery__percentile", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.80527}, "macro.fivetran_utils.postgres__percentile": {"unique_id": "macro.fivetran_utils.postgres__percentile", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.8054452}, "macro.fivetran_utils.spark__percentile": {"unique_id": "macro.fivetran_utils.spark__percentile", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.80563}, "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/pinterest/dbt_pinterest_source/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": 1656616676.806218}, "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/pinterest/dbt_pinterest_source/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) %}\n\n{% if var(pass_through_variable, none) %}\n {% for field in var(pass_through_variable) %}\n , {{ 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": 1656616676.806859}, "macro.fivetran_utils.json_parse": {"unique_id": "macro.fivetran_utils.json_parse", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.808068}, "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/pinterest/dbt_pinterest_source/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": 1656616676.8083572}, "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/pinterest/dbt_pinterest_source/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": 1656616676.808637}, "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/pinterest/dbt_pinterest_source/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": 1656616676.808903}, "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/pinterest/dbt_pinterest_source/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": 1656616676.8091662}, "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/pinterest/dbt_pinterest_source/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": 1656616676.8094678}, "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/pinterest/dbt_pinterest_source/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": 1656616676.809769}, "macro.fivetran_utils.max_bool": {"unique_id": "macro.fivetran_utils.max_bool", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.810215}, "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/pinterest/dbt_pinterest_source/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": 1656616676.8103418}, "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/pinterest/dbt_pinterest_source/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": 1656616676.810448}, "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/pinterest/dbt_pinterest_source/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": 1656616676.8105621}, "macro.fivetran_utils.calculated_fields": {"unique_id": "macro.fivetran_utils.calculated_fields", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.811046}, "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/pinterest/dbt_pinterest_source/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": 1656616676.8117828}, "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/pinterest/dbt_pinterest_source/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": 1656616676.812524}, "macro.fivetran_utils.string_agg": {"unique_id": "macro.fivetran_utils.string_agg", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.813198}, "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/pinterest/dbt_pinterest_source/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": 1656616676.813343}, "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/pinterest/dbt_pinterest_source/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": 1656616676.813477}, "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/pinterest/dbt_pinterest_source/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": 1656616676.813607}, "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/pinterest/dbt_pinterest_source/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": 1656616676.8137841}, "macro.fivetran_utils.timestamp_diff": {"unique_id": "macro.fivetran_utils.timestamp_diff", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.817141}, "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/pinterest/dbt_pinterest_source/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": 1656616676.817346}, "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/pinterest/dbt_pinterest_source/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": 1656616676.817523}, "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/pinterest/dbt_pinterest_source/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": 1656616676.817709}, "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/pinterest/dbt_pinterest_source/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": 1656616676.819652}, "macro.fivetran_utils.try_cast": {"unique_id": "macro.fivetran_utils.try_cast", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.8206542}, "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/pinterest/dbt_pinterest_source/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": 1656616676.820812}, "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/pinterest/dbt_pinterest_source/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": 1656616676.821116}, "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/pinterest/dbt_pinterest_source/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": 1656616676.82143}, "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/pinterest/dbt_pinterest_source/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": 1656616676.821571}, "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/pinterest/dbt_pinterest_source/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": 1656616676.821717}, "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/pinterest/dbt_pinterest_source/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": 1656616676.821852}, "macro.fivetran_utils.source_relation": {"unique_id": "macro.fivetran_utils.source_relation", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.822438}, "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/pinterest/dbt_pinterest_source/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": 1656616676.8230772}, "macro.fivetran_utils.first_value": {"unique_id": "macro.fivetran_utils.first_value", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.823744}, "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/pinterest/dbt_pinterest_source/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": 1656616676.8239932}, "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/pinterest/dbt_pinterest_source/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": 1656616676.824237}, "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/pinterest/dbt_pinterest_source/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": 1656616676.824693}, "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/pinterest/dbt_pinterest_source/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": 1656616676.825823}, "macro.fivetran_utils.union_relations": {"unique_id": "macro.fivetran_utils.union_relations", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.830048}, "macro.fivetran_utils.union_tables": {"unique_id": "macro.fivetran_utils.union_tables", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.830453}, "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/pinterest/dbt_pinterest_source/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": 1656616676.831}, "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/pinterest/dbt_pinterest_source/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": 1656616676.832567}, "macro.fivetran_utils.quote_column": {"unique_id": "macro.fivetran_utils.quote_column", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.833133}, "macro.fivetran_utils.json_extract": {"unique_id": "macro.fivetran_utils.json_extract", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.833869}, "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/pinterest/dbt_pinterest_source/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": 1656616676.834121}, "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/pinterest/dbt_pinterest_source/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": 1656616676.834324}, "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/pinterest/dbt_pinterest_source/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": 1656616676.834558}, "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/pinterest/dbt_pinterest_source/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": 1656616676.834778}, "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/pinterest/dbt_pinterest_source/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": 1656616676.83497}, "macro.fivetran_utils.collect_freshness": {"unique_id": "macro.fivetran_utils.collect_freshness", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.835941}, "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/pinterest/dbt_pinterest_source/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": 1656616676.837107}, "macro.fivetran_utils.timestamp_add": {"unique_id": "macro.fivetran_utils.timestamp_add", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.838015}, "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/pinterest/dbt_pinterest_source/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": 1656616676.838196}, "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/pinterest/dbt_pinterest_source/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": 1656616676.8383832}, "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/pinterest/dbt_pinterest_source/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": 1656616676.838572}, "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/pinterest/dbt_pinterest_source/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": 1656616676.838742}, "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/pinterest/dbt_pinterest_source/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": 1656616676.839031}, "macro.fivetran_utils.ceiling": {"unique_id": "macro.fivetran_utils.ceiling", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.839433}, "macro.fivetran_utils.default__ceiling": {"unique_id": "macro.fivetran_utils.default__ceiling", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.839555}, "macro.fivetran_utils.snowflake__ceiling": {"unique_id": "macro.fivetran_utils.snowflake__ceiling", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.839658}, "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/pinterest/dbt_pinterest_source/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": 1656616676.840451}, "macro.fivetran_utils.union_data": {"unique_id": "macro.fivetran_utils.union_data", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.841829}, "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/pinterest/dbt_pinterest_source/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": 1656616676.844}, "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/pinterest/dbt_pinterest_source/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": 1656616676.845879}, "macro.fivetran_utils.array_agg": {"unique_id": "macro.fivetran_utils.array_agg", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.846287}, "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/pinterest/dbt_pinterest_source/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": 1656616676.84642}, "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/pinterest/dbt_pinterest_source/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": 1656616676.846547}, "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/pinterest/dbt_pinterest_source/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": 1656616676.847065}, "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/pinterest/dbt_pinterest_source/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": 1656616676.847606}, "macro.pinterest_source.get_ad_group_history_columns": {"unique_id": "macro.pinterest_source.get_ad_group_history_columns", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "macros/get_ad_group_history_columns.sql", "original_file_path": "macros/get_ad_group_history_columns.sql", "name": "get_ad_group_history_columns", "macro_sql": "{% macro get_ad_group_history_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"campaign_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"created_time\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"end_time\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"name\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"start_time\", \"datatype\": dbt_utils.type_timestamp()},\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_string"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1656616676.848759}, "macro.pinterest_source.get_pin_promotion_history_columns": {"unique_id": "macro.pinterest_source.get_pin_promotion_history_columns", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "macros/get_pin_promotion_history_columns.sql", "original_file_path": "macros/get_pin_promotion_history_columns.sql", "name": "get_pin_promotion_history_columns", "macro_sql": "{% macro get_pin_promotion_history_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"ad_group_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"android_deep_link\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"click_tracking_url\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"created_time\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"creative_type\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"destination_url\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"ios_deep_link\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"is_pin_deleted\", \"datatype\": \"boolean\"},\n {\"name\": \"is_removable\", \"datatype\": \"boolean\"},\n {\"name\": \"name\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"pin_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"review_status\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"status\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"updated_time\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"view_tracking_url\", \"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_string"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1656616676.851131}, "macro.pinterest_source.get_keyword_report_columns": {"unique_id": "macro.pinterest_source.get_keyword_report_columns", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "macros/get_keyword_report_columns.sql", "original_file_path": "macros/get_keyword_report_columns.sql", "name": "get_keyword_report_columns", "macro_sql": "{% macro get_keyword_report_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"ad_group_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"ad_group_name\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"ad_group_status\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"advertiser_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"campaign_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"clickthrough_1\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"clickthrough_2\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"date\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"impression_1\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"impression_2\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"keyword_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"pin_promotion_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"spend_in_micro_dollar\", \"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_string", "macro.dbt_utils.type_int"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1656616676.85301}, "macro.pinterest_source.get_pin_promotion_report_columns": {"unique_id": "macro.pinterest_source.get_pin_promotion_report_columns", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "macros/get_pin_promotion_report_columns.sql", "original_file_path": "macros/get_pin_promotion_report_columns.sql", "name": "get_pin_promotion_report_columns", "macro_sql": "{% macro get_pin_promotion_report_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"ad_group_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"advertiser_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"campaign_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"clickthrough_1\", \"datatype\": dbt_utils.type_numeric()},\n {\"name\": \"clickthrough_2\", \"datatype\": dbt_utils.type_numeric()},\n {\"name\": \"date\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"impression_1\", \"datatype\": dbt_utils.type_numeric()},\n {\"name\": \"impression_2\", \"datatype\": dbt_utils.type_numeric()},\n {\"name\": \"pin_promotion_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"spend_in_micro_dollar\", \"datatype\": dbt_utils.type_numeric()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.type_timestamp", "macro.dbt_utils.type_string", "macro.dbt_utils.type_numeric"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1656616676.854727}, "macro.pinterest_source.get_campaign_report_columns": {"unique_id": "macro.pinterest_source.get_campaign_report_columns", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "macros/get_campaign_report_columns.sql", "original_file_path": "macros/get_campaign_report_columns.sql", "name": "get_campaign_report_columns", "macro_sql": "{% macro get_campaign_report_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"advertiser_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"campaign_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"campaign_name\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"campaign_status\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"clickthrough_1\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"clickthrough_2\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"date\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"impression_1\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"impression_2\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"spend_in_micro_dollar\", \"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_string", "macro.dbt_utils.type_int"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1656616676.856444}, "macro.pinterest_source.get_campaign_history_columns": {"unique_id": "macro.pinterest_source.get_campaign_history_columns", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_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\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"created_time\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"name\", \"datatype\": dbt_utils.type_string()},\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_string"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1656616676.857353}, "macro.pinterest_source.get_advertiser_history_columns": {"unique_id": "macro.pinterest_source.get_advertiser_history_columns", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "macros/get_advertiser_history_columns.sql", "original_file_path": "macros/get_advertiser_history_columns.sql", "name": "get_advertiser_history_columns", "macro_sql": "{% macro get_advertiser_history_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"billing_profile_status\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"billing_type\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"country\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"created_time\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"currency\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"merchant_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"name\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"owner_user_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"status\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"updated_time\", \"datatype\": dbt_utils.type_timestamp()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.type_timestamp", "macro.dbt_utils.type_string"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1656616676.858955}, "macro.pinterest_source.get_ad_group_report_columns": {"unique_id": "macro.pinterest_source.get_ad_group_report_columns", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "macros/get_ad_group_report_columns.sql", "original_file_path": "macros/get_ad_group_report_columns.sql", "name": "get_ad_group_report_columns", "macro_sql": "{% macro get_ad_group_report_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"ad_group_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"ad_group_name\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"ad_group_status\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"advertiser_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"campaign_id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"clickthrough_1\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"clickthrough_2\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"date\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"impression_1\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"impression_2\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"spend_in_micro_dollar\", \"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_string", "macro.dbt_utils.type_int"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1656616676.8605719}, "macro.pinterest_source.get_keyword_history_columns": {"unique_id": "macro.pinterest_source.get_keyword_history_columns", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "macros/get_keyword_history_columns.sql", "original_file_path": "macros/get_keyword_history_columns.sql", "name": "get_keyword_history_columns", "macro_sql": "{% macro get_keyword_history_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"ad_group_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"advertiser_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"archived\", \"datatype\": \"boolean\"},\n {\"name\": \"bid\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"campaign_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"match_type\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"parent_type\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"value\", \"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": 1656616676.862069}, "macro.pinterest_source.get_advertiser_report_columns": {"unique_id": "macro.pinterest_source.get_advertiser_report_columns", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "macros/get_advertiser_report_columns.sql", "original_file_path": "macros/get_advertiser_report_columns.sql", "name": "get_advertiser_report_columns", "macro_sql": "{% macro get_advertiser_report_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"advertiser_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"clickthrough_1\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"clickthrough_2\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"date\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"impression_1\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"impression_2\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"spend_in_micro_dollar\", \"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_string", "macro.dbt_utils.type_int"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1656616676.8633752}}, "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"}, "pinterest_source._fivetran_synced": {"unique_id": "pinterest_source._fivetran_synced", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "_fivetran_synced", "block_contents": "Timestamp of when a record was last synced."}, "pinterest_source.is_most_recent_record": {"unique_id": "pinterest_source.is_most_recent_record", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "is_most_recent_record", "block_contents": "Boolean representing whether the record is the most recent version of the object."}, "pinterest_source.date_day": {"unique_id": "pinterest_source.date_day", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "date_day", "block_contents": "The performance date of the record."}, "pinterest_source.ad_group_id": {"unique_id": "pinterest_source.ad_group_id", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "ad_group_id", "block_contents": "The ID of the related Ad group."}, "pinterest_source.pin_promotion_id": {"unique_id": "pinterest_source.pin_promotion_id", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "pin_promotion_id", "block_contents": "The ID of the related Pin promotion."}, "pinterest_source.campaign_id": {"unique_id": "pinterest_source.campaign_id", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "campaign_id", "block_contents": "The ID of the related Campaign."}, "pinterest_source.advertiser_id": {"unique_id": "pinterest_source.advertiser_id", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "advertiser_id", "block_contents": "The ID of the related Advertiser."}, "pinterest_source.impressions": {"unique_id": "pinterest_source.impressions", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "impressions", "block_contents": "The number of impressions that occurred on the day of the record."}, "pinterest_source.clicks": {"unique_id": "pinterest_source.clicks", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "clicks", "block_contents": "The number of clicks that occurred on the day of the record."}, "pinterest_source.spend": {"unique_id": "pinterest_source.spend", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "spend", "block_contents": "The amount of spend that occurred on the day of the record."}, "pinterest_source.updated_at": {"unique_id": "pinterest_source.updated_at", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "updated_at", "block_contents": "Timestamp of when a record was last updated."}, "pinterest_source.created_at": {"unique_id": "pinterest_source.created_at", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "created_at", "block_contents": "Timestamp of when a record was created."}, "pinterest_source.spend_in_micro_dollar": {"unique_id": "pinterest_source.spend_in_micro_dollar", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "spend_in_micro_dollar", "block_contents": "The amount of spend in micro dollars that occurred on the day of the record."}, "pinterest_source.clickthrough_1": {"unique_id": "pinterest_source.clickthrough_1", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "clickthrough_1", "block_contents": "The number of paid pin clicks that occurred on the day of the record."}, "pinterest_source.clickthrough_2": {"unique_id": "pinterest_source.clickthrough_2", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "clickthrough_2", "block_contents": "The number of earned outbound clicks that occurred on the day of the record."}, "pinterest_source.impression_1": {"unique_id": "pinterest_source.impression_1", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "impression_1", "block_contents": "The number of paid pin impressions that occurred on the day of the record."}, "pinterest_source.impression_2": {"unique_id": "pinterest_source.impression_2", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "impression_2", "block_contents": "The number of earned pin impressions that occurred on the day of the record."}}, "exposures": {}, "metrics": {}, "selectors": {}, "disabled": {}, "parent_map": {"seed.pinterest_source_integration_tests.ad_group_report_data": [], "seed.pinterest_source_integration_tests.keyword_report_data": [], "seed.pinterest_source_integration_tests.pin_promotion_history_data": [], "seed.pinterest_source_integration_tests.advertiser_history_data": [], "seed.pinterest_source_integration_tests.advertiser_report_data": [], "seed.pinterest_source_integration_tests.ad_group_history_data": [], "seed.pinterest_source_integration_tests.campaign_history_data": [], "seed.pinterest_source_integration_tests.campaign_report_data": [], "seed.pinterest_source_integration_tests.keyword_history_data": [], "seed.pinterest_source_integration_tests.pin_promotion_report_data": [], "model.pinterest_source.stg_pinterest_ads__keyword_report": ["model.pinterest_source.stg_pinterest_ads__keyword_report_tmp", "model.pinterest_source.stg_pinterest_ads__keyword_report_tmp"], "model.pinterest_source.stg_pinterest_ads__ad_group_report": ["model.pinterest_source.stg_pinterest_ads__ad_group_report_tmp", "model.pinterest_source.stg_pinterest_ads__ad_group_report_tmp"], "model.pinterest_source.stg_pinterest_ads__advertiser_report": ["model.pinterest_source.stg_pinterest_ads__advertiser_report_tmp", "model.pinterest_source.stg_pinterest_ads__advertiser_report_tmp"], "model.pinterest_source.stg_pinterest_ads__advertiser_history": ["model.pinterest_source.stg_pinterest_ads__advertiser_history_tmp", "model.pinterest_source.stg_pinterest_ads__advertiser_history_tmp"], "model.pinterest_source.stg_pinterest_ads__campaign_report": ["model.pinterest_source.stg_pinterest_ads__campaign_report_tmp", "model.pinterest_source.stg_pinterest_ads__campaign_report_tmp"], "model.pinterest_source.stg_pinterest_ads__keyword_history": ["model.pinterest_source.stg_pinterest_ads__keyword_history_tmp", "model.pinterest_source.stg_pinterest_ads__keyword_history_tmp"], "model.pinterest_source.stg_pinterest_ads__pin_promotion_report": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_report_tmp", "model.pinterest_source.stg_pinterest_ads__pin_promotion_report_tmp"], "model.pinterest_source.stg_pinterest_ads__advertiser_history_tmp": ["source.pinterest_source.pinterest_ads.advertiser_history"], "model.pinterest_source.stg_pinterest_ads__pin_promotion_report_tmp": ["source.pinterest_source.pinterest_ads.pin_promotion_report"], "model.pinterest_source.stg_pinterest_ads__campaign_report_tmp": ["source.pinterest_source.pinterest_ads.campaign_report"], "model.pinterest_source.stg_pinterest_ads__advertiser_report_tmp": ["source.pinterest_source.pinterest_ads.advertiser_report"], "model.pinterest_source.stg_pinterest_ads__keyword_report_tmp": ["source.pinterest_source.pinterest_ads.keyword_report"], "model.pinterest_source.stg_pinterest_ads__ad_group_report_tmp": ["source.pinterest_source.pinterest_ads.ad_group_report"], "model.pinterest_source.stg_pinterest_ads__keyword_history_tmp": ["source.pinterest_source.pinterest_ads.keyword_history"], "model.pinterest_source.stg_pinterest_ads__campaign_history_tmp": ["source.pinterest_source.pinterest_ads.campaign_history"], "model.pinterest_source.stg_pinterest_ads__ad_group_history_tmp": ["source.pinterest_source.pinterest_ads.ad_group_history"], "model.pinterest_source.stg_pinterest_ads__pin_promotion_history_tmp": ["source.pinterest_source.pinterest_ads.pin_promotion_history"], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_report_date_day__pin_promotion_id.f30a887f4d": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_report"], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_report_date_day__ad_group_id.959c0f8422": ["model.pinterest_source.stg_pinterest_ads__ad_group_report"], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_history_updated_at__advertiser_id.94e8f4de4b": ["model.pinterest_source.stg_pinterest_ads__advertiser_history"], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_report_date_day__advertiser_id.e92ce8a9c0": ["model.pinterest_source.stg_pinterest_ads__advertiser_report"], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_report_date_day__campaign_id.968175d475": ["model.pinterest_source.stg_pinterest_ads__campaign_report"], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_history_keyword_id___fivetran_synced.e73fb0a4db": ["model.pinterest_source.stg_pinterest_ads__keyword_history"], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_report_date_day__keyword_id.fe6a646a5a": ["model.pinterest_source.stg_pinterest_ads__keyword_report"], "model.pinterest_source.stg_pinterest_ads__campaign_history": ["model.pinterest_source.stg_pinterest_ads__campaign_history_tmp", "model.pinterest_source.stg_pinterest_ads__campaign_history_tmp"], "model.pinterest_source.stg_pinterest_ads__ad_group_history": ["model.pinterest_source.stg_pinterest_ads__ad_group_history_tmp", "model.pinterest_source.stg_pinterest_ads__ad_group_history_tmp"], "model.pinterest_source.stg_pinterest_ads__pin_promotion_history": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_history_tmp", "model.pinterest_source.stg_pinterest_ads__pin_promotion_history_tmp"], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_history_campaign_id___fivetran_synced.eff7196b87": ["model.pinterest_source.stg_pinterest_ads__campaign_history"], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_history_ad_group_id___fivetran_synced.1132e1f339": ["model.pinterest_source.stg_pinterest_ads__ad_group_history"], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_history__fivetran_synced__pin_promotion_id.8e9ab31ea9": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_history"], "source.pinterest_source.pinterest_ads.pin_promotion_report": [], "source.pinterest_source.pinterest_ads.pin_promotion_history": [], "source.pinterest_source.pinterest_ads.campaign_history": [], "source.pinterest_source.pinterest_ads.ad_group_history": [], "source.pinterest_source.pinterest_ads.ad_group_report": [], "source.pinterest_source.pinterest_ads.advertiser_history": [], "source.pinterest_source.pinterest_ads.advertiser_report": [], "source.pinterest_source.pinterest_ads.campaign_report": [], "source.pinterest_source.pinterest_ads.keyword_history": [], "source.pinterest_source.pinterest_ads.keyword_report": []}, "child_map": {"seed.pinterest_source_integration_tests.ad_group_report_data": [], "seed.pinterest_source_integration_tests.keyword_report_data": [], "seed.pinterest_source_integration_tests.pin_promotion_history_data": [], "seed.pinterest_source_integration_tests.advertiser_history_data": [], "seed.pinterest_source_integration_tests.advertiser_report_data": [], "seed.pinterest_source_integration_tests.ad_group_history_data": [], "seed.pinterest_source_integration_tests.campaign_history_data": [], "seed.pinterest_source_integration_tests.campaign_report_data": [], "seed.pinterest_source_integration_tests.keyword_history_data": [], "seed.pinterest_source_integration_tests.pin_promotion_report_data": [], "model.pinterest_source.stg_pinterest_ads__keyword_report": ["test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_report_date_day__keyword_id.fe6a646a5a"], "model.pinterest_source.stg_pinterest_ads__ad_group_report": ["test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_report_date_day__ad_group_id.959c0f8422"], "model.pinterest_source.stg_pinterest_ads__advertiser_report": ["test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_report_date_day__advertiser_id.e92ce8a9c0"], "model.pinterest_source.stg_pinterest_ads__advertiser_history": ["test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_history_updated_at__advertiser_id.94e8f4de4b"], "model.pinterest_source.stg_pinterest_ads__campaign_report": ["test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_report_date_day__campaign_id.968175d475"], "model.pinterest_source.stg_pinterest_ads__keyword_history": ["test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_history_keyword_id___fivetran_synced.e73fb0a4db"], "model.pinterest_source.stg_pinterest_ads__pin_promotion_report": ["test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_report_date_day__pin_promotion_id.f30a887f4d"], "model.pinterest_source.stg_pinterest_ads__advertiser_history_tmp": ["model.pinterest_source.stg_pinterest_ads__advertiser_history", "model.pinterest_source.stg_pinterest_ads__advertiser_history"], "model.pinterest_source.stg_pinterest_ads__pin_promotion_report_tmp": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_report", "model.pinterest_source.stg_pinterest_ads__pin_promotion_report"], "model.pinterest_source.stg_pinterest_ads__campaign_report_tmp": ["model.pinterest_source.stg_pinterest_ads__campaign_report", "model.pinterest_source.stg_pinterest_ads__campaign_report"], "model.pinterest_source.stg_pinterest_ads__advertiser_report_tmp": ["model.pinterest_source.stg_pinterest_ads__advertiser_report", "model.pinterest_source.stg_pinterest_ads__advertiser_report"], "model.pinterest_source.stg_pinterest_ads__keyword_report_tmp": ["model.pinterest_source.stg_pinterest_ads__keyword_report", "model.pinterest_source.stg_pinterest_ads__keyword_report"], "model.pinterest_source.stg_pinterest_ads__ad_group_report_tmp": ["model.pinterest_source.stg_pinterest_ads__ad_group_report", "model.pinterest_source.stg_pinterest_ads__ad_group_report"], "model.pinterest_source.stg_pinterest_ads__keyword_history_tmp": ["model.pinterest_source.stg_pinterest_ads__keyword_history", "model.pinterest_source.stg_pinterest_ads__keyword_history"], "model.pinterest_source.stg_pinterest_ads__campaign_history_tmp": ["model.pinterest_source.stg_pinterest_ads__campaign_history", "model.pinterest_source.stg_pinterest_ads__campaign_history"], "model.pinterest_source.stg_pinterest_ads__ad_group_history_tmp": ["model.pinterest_source.stg_pinterest_ads__ad_group_history", "model.pinterest_source.stg_pinterest_ads__ad_group_history"], "model.pinterest_source.stg_pinterest_ads__pin_promotion_history_tmp": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_history", "model.pinterest_source.stg_pinterest_ads__pin_promotion_history"], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_report_date_day__pin_promotion_id.f30a887f4d": [], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_report_date_day__ad_group_id.959c0f8422": [], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_history_updated_at__advertiser_id.94e8f4de4b": [], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_report_date_day__advertiser_id.e92ce8a9c0": [], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_report_date_day__campaign_id.968175d475": [], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_history_keyword_id___fivetran_synced.e73fb0a4db": [], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_report_date_day__keyword_id.fe6a646a5a": [], "model.pinterest_source.stg_pinterest_ads__campaign_history": ["test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_history_campaign_id___fivetran_synced.eff7196b87"], "model.pinterest_source.stg_pinterest_ads__ad_group_history": ["test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_history_ad_group_id___fivetran_synced.1132e1f339"], "model.pinterest_source.stg_pinterest_ads__pin_promotion_history": ["test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_history__fivetran_synced__pin_promotion_id.8e9ab31ea9"], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_history_campaign_id___fivetran_synced.eff7196b87": [], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_history_ad_group_id___fivetran_synced.1132e1f339": [], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_history__fivetran_synced__pin_promotion_id.8e9ab31ea9": [], "source.pinterest_source.pinterest_ads.pin_promotion_report": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_report_tmp"], "source.pinterest_source.pinterest_ads.pin_promotion_history": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_history_tmp"], "source.pinterest_source.pinterest_ads.campaign_history": ["model.pinterest_source.stg_pinterest_ads__campaign_history_tmp"], "source.pinterest_source.pinterest_ads.ad_group_history": ["model.pinterest_source.stg_pinterest_ads__ad_group_history_tmp"], "source.pinterest_source.pinterest_ads.ad_group_report": ["model.pinterest_source.stg_pinterest_ads__ad_group_report_tmp"], "source.pinterest_source.pinterest_ads.advertiser_history": ["model.pinterest_source.stg_pinterest_ads__advertiser_history_tmp"], "source.pinterest_source.pinterest_ads.advertiser_report": ["model.pinterest_source.stg_pinterest_ads__advertiser_report_tmp"], "source.pinterest_source.pinterest_ads.campaign_report": ["model.pinterest_source.stg_pinterest_ads__campaign_report_tmp"], "source.pinterest_source.pinterest_ads.keyword_history": ["model.pinterest_source.stg_pinterest_ads__keyword_history_tmp"], "source.pinterest_source.pinterest_ads.keyword_report": ["model.pinterest_source.stg_pinterest_ads__keyword_report_tmp"]}} \ No newline at end of file diff --git a/docs/run_results.json b/docs/run_results.json index 8634481..b9ec186 100644 --- a/docs/run_results.json +++ b/docs/run_results.json @@ -1 +1 @@ -{"metadata": {"dbt_schema_version": "https://schemas.getdbt.com/dbt/run-results/v1.json", "dbt_version": "0.19.0", "generated_at": "2021-03-23T14:42:43.697372Z", "invocation_id": "95bbbe14-eed1-471c-acdd-42e8fb555144", "env": {}}, "results": [{"status": "success", "timing": [{"name": "compile", "started_at": "2021-03-23T14:42:43.177173Z", "completed_at": "2021-03-23T14:42:43.216998Z"}, {"name": "execute", "started_at": "2021-03-23T14:42:43.217917Z", "completed_at": "2021-03-23T14:42:43.217936Z"}], "thread_id": "Thread-1", "execution_time": 0.043218135833740234, "message": null, "adapter_response": {}, "unique_id": "seed.pinterest_source_integration_tests.ad_group_history_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2021-03-23T14:42:43.177919Z", "completed_at": "2021-03-23T14:42:43.217444Z"}, {"name": "execute", "started_at": "2021-03-23T14:42:43.218240Z", "completed_at": "2021-03-23T14:42:43.218249Z"}], "thread_id": "Thread-3", "execution_time": 0.0426480770111084, "message": null, "adapter_response": {}, "unique_id": "seed.pinterest_source_integration_tests.pin_promotion_history_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2021-03-23T14:42:43.194964Z", "completed_at": "2021-03-23T14:42:43.217680Z"}, {"name": "execute", "started_at": "2021-03-23T14:42:43.218671Z", "completed_at": "2021-03-23T14:42:43.218678Z"}], "thread_id": "Thread-4", "execution_time": 0.042476654052734375, "message": null, "adapter_response": {}, "unique_id": "seed.pinterest_source_integration_tests.pin_promotion_report_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2021-03-23T14:42:43.177756Z", "completed_at": "2021-03-23T14:42:43.225497Z"}, {"name": "execute", "started_at": "2021-03-23T14:42:43.226411Z", "completed_at": "2021-03-23T14:42:43.226419Z"}], "thread_id": "Thread-2", "execution_time": 0.06532883644104004, "message": null, "adapter_response": {}, "unique_id": "seed.pinterest_source_integration_tests.campaign_history_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2021-03-23T14:42:43.226025Z", "completed_at": "2021-03-23T14:42:43.256732Z"}, {"name": "execute", "started_at": "2021-03-23T14:42:43.257579Z", "completed_at": "2021-03-23T14:42:43.257586Z"}], "thread_id": "Thread-1", "execution_time": 0.03371906280517578, "message": null, "adapter_response": {}, "unique_id": "model.pinterest_source.stg_pinterest_ads__ad_group_history_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2021-03-23T14:42:43.226642Z", "completed_at": "2021-03-23T14:42:43.257971Z"}, {"name": "execute", "started_at": "2021-03-23T14:42:43.258900Z", "completed_at": "2021-03-23T14:42:43.258906Z"}], "thread_id": "Thread-3", "execution_time": 0.034252166748046875, "message": null, "adapter_response": {}, "unique_id": "model.pinterest_source.stg_pinterest_ads__pin_promotion_history_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2021-03-23T14:42:43.241517Z", "completed_at": "2021-03-23T14:42:43.258476Z"}, {"name": "execute", "started_at": "2021-03-23T14:42:43.259204Z", "completed_at": "2021-03-23T14:42:43.259209Z"}], "thread_id": "Thread-4", "execution_time": 0.04261183738708496, "message": null, "adapter_response": {}, "unique_id": "model.pinterest_source.stg_pinterest_ads__pin_promotion_report_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2021-03-23T14:42:43.259107Z", "completed_at": "2021-03-23T14:42:43.271877Z"}, {"name": "execute", "started_at": "2021-03-23T14:42:43.289661Z", "completed_at": "2021-03-23T14:42:43.289670Z"}], "thread_id": "Thread-2", "execution_time": 0.04892587661743164, "message": null, "adapter_response": {}, "unique_id": "model.pinterest_source.stg_pinterest_ads__campaign_history_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2021-03-23T14:42:43.270971Z", "completed_at": "2021-03-23T14:42:43.547903Z"}, {"name": "execute", "started_at": "2021-03-23T14:42:43.548187Z", "completed_at": "2021-03-23T14:42:43.548198Z"}], "thread_id": "Thread-1", "execution_time": 0.27956128120422363, "message": null, "adapter_response": {}, "unique_id": "model.pinterest_source.stg_pinterest_ads__ad_group_history"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2021-03-23T14:42:43.289513Z", "completed_at": "2021-03-23T14:42:43.553511Z"}, {"name": "execute", "started_at": "2021-03-23T14:42:43.554360Z", "completed_at": "2021-03-23T14:42:43.554367Z"}], "thread_id": "Thread-3", "execution_time": 0.283876895904541, "message": null, "adapter_response": {}, "unique_id": "model.pinterest_source.stg_pinterest_ads__pin_promotion_history"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2021-03-23T14:42:43.289913Z", "completed_at": "2021-03-23T14:42:43.553725Z"}, {"name": "execute", "started_at": "2021-03-23T14:42:43.554598Z", "completed_at": "2021-03-23T14:42:43.554604Z"}], "thread_id": "Thread-4", "execution_time": 0.28326988220214844, "message": null, "adapter_response": {}, "unique_id": "model.pinterest_source.stg_pinterest_ads__pin_promotion_report"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2021-03-23T14:42:43.323597Z", "completed_at": "2021-03-23T14:42:43.553905Z"}, {"name": "execute", "started_at": "2021-03-23T14:42:43.554825Z", "completed_at": "2021-03-23T14:42:43.554831Z"}], "thread_id": "Thread-2", "execution_time": 0.2333359718322754, "message": null, "adapter_response": {}, "unique_id": "model.pinterest_source.stg_pinterest_ads__campaign_history"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2021-03-23T14:42:43.555044Z", "completed_at": "2021-03-23T14:42:43.573367Z"}, {"name": "execute", "started_at": "2021-03-23T14:42:43.580249Z", "completed_at": "2021-03-23T14:42:43.580258Z"}], "thread_id": "Thread-1", "execution_time": 0.04097700119018555, "message": null, "adapter_response": {}, "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_history_version_id"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2021-03-23T14:42:43.573263Z", "completed_at": "2021-03-23T14:42:43.597910Z"}, {"name": "execute", "started_at": "2021-03-23T14:42:43.598719Z", "completed_at": "2021-03-23T14:42:43.598725Z"}], "thread_id": "Thread-3", "execution_time": 0.0274810791015625, "message": null, "adapter_response": {}, "unique_id": "test.pinterest_source.unique_stg_pinterest_ads__ad_group_history_version_id"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2021-03-23T14:42:43.573625Z", "completed_at": "2021-03-23T14:42:43.598527Z"}, {"name": "execute", "started_at": "2021-03-23T14:42:43.599207Z", "completed_at": "2021-03-23T14:42:43.599213Z"}], "thread_id": "Thread-4", "execution_time": 0.0273439884185791, "message": null, "adapter_response": {}, "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_history_version_id"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2021-03-23T14:42:43.573754Z", "completed_at": "2021-03-23T14:42:43.599373Z"}, {"name": "execute", "started_at": "2021-03-23T14:42:43.600092Z", "completed_at": "2021-03-23T14:42:43.600097Z"}], "thread_id": "Thread-2", "execution_time": 0.03534412384033203, "message": null, "adapter_response": {}, "unique_id": "test.pinterest_source.unique_stg_pinterest_ads__pin_promotion_history_version_id"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2021-03-23T14:42:43.599780Z", "completed_at": "2021-03-23T14:42:43.609488Z"}, {"name": "execute", "started_at": "2021-03-23T14:42:43.621560Z", "completed_at": "2021-03-23T14:42:43.621591Z"}], "thread_id": "Thread-1", "execution_time": 0.026482105255126953, "message": null, "adapter_response": {}, "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__campaign_history_version_id"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2021-03-23T14:42:43.609240Z", "completed_at": "2021-03-23T14:42:43.632799Z"}, {"name": "execute", "started_at": "2021-03-23T14:42:43.633304Z", "completed_at": "2021-03-23T14:42:43.633312Z"}], "thread_id": "Thread-3", "execution_time": 0.025175094604492188, "message": null, "adapter_response": {}, "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_report_report_id"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2021-03-23T14:42:43.624010Z", "completed_at": "2021-03-23T14:42:43.633945Z"}, {"name": "execute", "started_at": "2021-03-23T14:42:43.634205Z", "completed_at": "2021-03-23T14:42:43.634211Z"}], "thread_id": "Thread-2", "execution_time": 0.024806737899780273, "message": null, "adapter_response": {}, "unique_id": "test.pinterest_source.unique_stg_pinterest_ads__pin_promotion_report_report_id"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2021-03-23T14:42:43.609411Z", "completed_at": "2021-03-23T14:42:43.634720Z"}, {"name": "execute", "started_at": "2021-03-23T14:42:43.634920Z", "completed_at": "2021-03-23T14:42:43.634925Z"}], "thread_id": "Thread-4", "execution_time": 0.02655792236328125, "message": null, "adapter_response": {}, "unique_id": "test.pinterest_source.unique_stg_pinterest_ads__campaign_history_version_id"}], "elapsed_time": 2.2939541339874268, "args": {"log_format": "default", "write_json": true, "profiles_dir": "/Users/joseph.markiewicz/.dbt", "target": "bigquery", "use_cache": true, "compile": true, "version_check": true, "which": "generate", "rpc_method": "docs.generate"}} \ No newline at end of file +{"metadata": {"dbt_schema_version": "https://schemas.getdbt.com/dbt/run-results/v4.json", "dbt_version": "1.0.4", "generated_at": "2022-06-30T19:28:50.185168Z", "invocation_id": "95030cc3-b499-42bd-89f0-d11773ebc3b0", "env": {}}, "results": [{"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T19:28:49.073359Z", "completed_at": "2022-06-30T19:28:49.082717Z"}, {"name": "execute", "started_at": "2022-06-30T19:28:49.083315Z", "completed_at": "2022-06-30T19:28:49.083327Z"}], "thread_id": "Thread-1", "execution_time": 0.011343717575073242, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__ad_group_history_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T19:28:49.073563Z", "completed_at": "2022-06-30T19:28:49.082815Z"}, {"name": "execute", "started_at": "2022-06-30T19:28:49.083468Z", "completed_at": "2022-06-30T19:28:49.083471Z"}], "thread_id": "Thread-3", "execution_time": 0.011240959167480469, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__advertiser_history_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T19:28:49.073450Z", "completed_at": "2022-06-30T19:28:49.082916Z"}, {"name": "execute", "started_at": "2022-06-30T19:28:49.083544Z", "completed_at": "2022-06-30T19:28:49.083547Z"}], "thread_id": "Thread-2", "execution_time": 0.011560916900634766, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__ad_group_report_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T19:28:49.073623Z", "completed_at": "2022-06-30T19:28:49.083106Z"}, {"name": "execute", "started_at": "2022-06-30T19:28:49.083832Z", "completed_at": "2022-06-30T19:28:49.083836Z"}], "thread_id": "Thread-4", "execution_time": 0.011575937271118164, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__advertiser_report_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T19:28:49.086363Z", "completed_at": "2022-06-30T19:28:49.094585Z"}, {"name": "execute", "started_at": "2022-06-30T19:28:49.095298Z", "completed_at": "2022-06-30T19:28:49.095304Z"}], "thread_id": "Thread-1", "execution_time": 0.010826826095581055, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__campaign_history_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T19:28:49.086546Z", "completed_at": "2022-06-30T19:28:49.094843Z"}, {"name": "execute", "started_at": "2022-06-30T19:28:49.095437Z", "completed_at": "2022-06-30T19:28:49.095441Z"}], "thread_id": "Thread-3", "execution_time": 0.010622978210449219, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__campaign_report_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T19:28:49.086633Z", "completed_at": "2022-06-30T19:28:49.094925Z"}, {"name": "execute", "started_at": "2022-06-30T19:28:49.095526Z", "completed_at": "2022-06-30T19:28:49.095530Z"}], "thread_id": "Thread-2", "execution_time": 0.010552644729614258, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__keyword_history_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T19:28:49.088845Z", "completed_at": "2022-06-30T19:28:49.095376Z"}, {"name": "execute", "started_at": "2022-06-30T19:28:49.096274Z", "completed_at": "2022-06-30T19:28:49.096277Z"}], "thread_id": "Thread-4", "execution_time": 0.011092901229858398, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__keyword_report_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T19:28:49.097920Z", "completed_at": "2022-06-30T19:28:49.103405Z"}, {"name": "execute", "started_at": "2022-06-30T19:28:49.104809Z", "completed_at": "2022-06-30T19:28:49.104814Z"}], "thread_id": "Thread-2", "execution_time": 0.007986068725585938, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.pinterest_source_integration_tests.ad_group_history_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T19:28:49.097655Z", "completed_at": "2022-06-30T19:28:49.103464Z"}, {"name": "execute", "started_at": "2022-06-30T19:28:49.104879Z", "completed_at": "2022-06-30T19:28:49.104882Z"}], "thread_id": "Thread-1", "execution_time": 0.008512020111083984, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__pin_promotion_history_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T19:28:49.097858Z", "completed_at": "2022-06-30T19:28:49.104445Z"}, {"name": "execute", "started_at": "2022-06-30T19:28:49.105020Z", "completed_at": "2022-06-30T19:28:49.105022Z"}], "thread_id": "Thread-3", "execution_time": 0.008448123931884766, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__pin_promotion_report_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T19:28:49.103273Z", "completed_at": "2022-06-30T19:28:49.104672Z"}, {"name": "execute", "started_at": "2022-06-30T19:28:49.105392Z", "completed_at": "2022-06-30T19:28:49.105395Z"}], "thread_id": "Thread-4", "execution_time": 0.00822901725769043, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.pinterest_source_integration_tests.ad_group_report_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T19:28:49.107079Z", "completed_at": "2022-06-30T19:28:49.110101Z"}, {"name": "execute", "started_at": "2022-06-30T19:28:49.111794Z", "completed_at": "2022-06-30T19:28:49.111802Z"}], "thread_id": "Thread-2", "execution_time": 0.006007194519042969, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.pinterest_source_integration_tests.advertiser_history_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T19:28:49.107144Z", "completed_at": "2022-06-30T19:28:49.110173Z"}, {"name": "execute", "started_at": "2022-06-30T19:28:49.111886Z", "completed_at": "2022-06-30T19:28:49.111890Z"}], "thread_id": "Thread-1", "execution_time": 0.005968809127807617, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.pinterest_source_integration_tests.advertiser_report_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T19:28:49.107267Z", "completed_at": "2022-06-30T19:28:49.111122Z"}, {"name": "execute", "started_at": "2022-06-30T19:28:49.112024Z", "completed_at": "2022-06-30T19:28:49.112027Z"}], "thread_id": "Thread-3", "execution_time": 0.005922794342041016, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.pinterest_source_integration_tests.campaign_history_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T19:28:49.109207Z", "completed_at": "2022-06-30T19:28:49.111544Z"}, {"name": "execute", "started_at": "2022-06-30T19:28:49.112422Z", "completed_at": "2022-06-30T19:28:49.112425Z"}], "thread_id": "Thread-4", "execution_time": 0.006014108657836914, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.pinterest_source_integration_tests.campaign_report_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T19:28:49.113865Z", "completed_at": "2022-06-30T19:28:49.117677Z"}, {"name": "execute", "started_at": "2022-06-30T19:28:49.119008Z", "completed_at": "2022-06-30T19:28:49.119011Z"}], "thread_id": "Thread-2", "execution_time": 0.0062580108642578125, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.pinterest_source_integration_tests.keyword_history_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T19:28:49.113942Z", "completed_at": "2022-06-30T19:28:49.117747Z"}, {"name": "execute", "started_at": "2022-06-30T19:28:49.119073Z", "completed_at": "2022-06-30T19:28:49.119076Z"}], "thread_id": "Thread-1", "execution_time": 0.006284952163696289, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.pinterest_source_integration_tests.keyword_report_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T19:28:49.114078Z", "completed_at": "2022-06-30T19:28:49.118650Z"}, {"name": "execute", "started_at": "2022-06-30T19:28:49.119199Z", "completed_at": "2022-06-30T19:28:49.119202Z"}], "thread_id": "Thread-3", "execution_time": 0.006290912628173828, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.pinterest_source_integration_tests.pin_promotion_history_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T19:28:49.116798Z", "completed_at": "2022-06-30T19:28:49.118873Z"}, {"name": "execute", "started_at": "2022-06-30T19:28:49.119573Z", "completed_at": "2022-06-30T19:28:49.119576Z"}], "thread_id": "Thread-4", "execution_time": 0.006367921829223633, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.pinterest_source_integration_tests.pin_promotion_report_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T19:28:49.121098Z", "completed_at": "2022-06-30T19:28:49.437254Z"}, {"name": "execute", "started_at": "2022-06-30T19:28:49.437575Z", "completed_at": "2022-06-30T19:28:49.437581Z"}], "thread_id": "Thread-2", "execution_time": 0.34340786933898926, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__ad_group_history"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T19:28:49.121330Z", "completed_at": "2022-06-30T19:28:49.441389Z"}, {"name": "execute", "started_at": "2022-06-30T19:28:49.441524Z", "completed_at": "2022-06-30T19:28:49.441526Z"}], "thread_id": "Thread-3", "execution_time": 0.3477151393890381, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__ad_group_report"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T19:28:49.130790Z", "completed_at": "2022-06-30T19:28:49.439966Z"}, {"name": "execute", "started_at": "2022-06-30T19:28:49.440692Z", "completed_at": "2022-06-30T19:28:49.440696Z"}], "thread_id": "Thread-4", "execution_time": 0.3520638942718506, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__advertiser_report"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T19:28:49.121164Z", "completed_at": "2022-06-30T19:28:49.673725Z"}, {"name": "execute", "started_at": "2022-06-30T19:28:49.673876Z", "completed_at": "2022-06-30T19:28:49.673883Z"}], "thread_id": "Thread-1", "execution_time": 0.579716682434082, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__advertiser_history"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T19:28:49.468837Z", "completed_at": "2022-06-30T19:28:49.738778Z"}, {"name": "execute", "started_at": "2022-06-30T19:28:49.738927Z", "completed_at": "2022-06-30T19:28:49.738934Z"}], "thread_id": "Thread-3", "execution_time": 0.2997407913208008, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__campaign_report"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T19:28:49.464283Z", "completed_at": "2022-06-30T19:28:49.753381Z"}, {"name": "execute", "started_at": "2022-06-30T19:28:49.753527Z", "completed_at": "2022-06-30T19:28:49.753531Z"}], "thread_id": "Thread-2", "execution_time": 0.3211791515350342, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__campaign_history"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T19:28:49.473546Z", "completed_at": "2022-06-30T19:28:49.776443Z"}, {"name": "execute", "started_at": "2022-06-30T19:28:49.776590Z", "completed_at": "2022-06-30T19:28:49.776595Z"}], "thread_id": "Thread-4", "execution_time": 0.3262929916381836, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__keyword_history"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T19:28:49.799998Z", "completed_at": "2022-06-30T19:28:49.807893Z"}, {"name": "execute", "started_at": "2022-06-30T19:28:49.808109Z", "completed_at": "2022-06-30T19:28:49.808115Z"}], "thread_id": "Thread-4", "execution_time": 0.008539915084838867, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_history_ad_group_id___fivetran_synced.1132e1f339"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T19:28:49.808716Z", "completed_at": "2022-06-30T19:28:49.811850Z"}, {"name": "execute", "started_at": "2022-06-30T19:28:49.811994Z", "completed_at": "2022-06-30T19:28:49.811999Z"}], "thread_id": "Thread-4", "execution_time": 0.0036270618438720703, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_report_date_day__ad_group_id.959c0f8422"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T19:28:49.812524Z", "completed_at": "2022-06-30T19:28:49.815240Z"}, {"name": "execute", "started_at": "2022-06-30T19:28:49.815378Z", "completed_at": "2022-06-30T19:28:49.815382Z"}], "thread_id": "Thread-4", "execution_time": 0.003173828125, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_report_date_day__advertiser_id.e92ce8a9c0"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T19:28:49.815879Z", "completed_at": "2022-06-30T19:28:49.819198Z"}, {"name": "execute", "started_at": "2022-06-30T19:28:49.819335Z", "completed_at": "2022-06-30T19:28:49.819339Z"}], "thread_id": "Thread-4", "execution_time": 0.0037789344787597656, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_history_updated_at__advertiser_id.94e8f4de4b"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T19:28:49.819870Z", "completed_at": "2022-06-30T19:28:49.822702Z"}, {"name": "execute", "started_at": "2022-06-30T19:28:49.822847Z", "completed_at": "2022-06-30T19:28:49.822852Z"}], "thread_id": "Thread-4", "execution_time": 0.0032978057861328125, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_report_date_day__campaign_id.968175d475"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T19:28:49.823383Z", "completed_at": "2022-06-30T19:28:49.826116Z"}, {"name": "execute", "started_at": "2022-06-30T19:28:49.826261Z", "completed_at": "2022-06-30T19:28:49.826266Z"}], "thread_id": "Thread-4", "execution_time": 0.0032029151916503906, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_history_campaign_id___fivetran_synced.eff7196b87"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T19:28:49.826924Z", "completed_at": "2022-06-30T19:28:49.829741Z"}, {"name": "execute", "started_at": "2022-06-30T19:28:49.829873Z", "completed_at": "2022-06-30T19:28:49.829878Z"}], "thread_id": "Thread-4", "execution_time": 0.0033729076385498047, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_history_keyword_id___fivetran_synced.e73fb0a4db"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T19:28:49.700702Z", "completed_at": "2022-06-30T19:28:50.015311Z"}, {"name": "execute", "started_at": "2022-06-30T19:28:50.015458Z", "completed_at": "2022-06-30T19:28:50.015464Z"}], "thread_id": "Thread-1", "execution_time": 0.3415720462799072, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__keyword_report"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T19:28:50.042414Z", "completed_at": "2022-06-30T19:28:50.045772Z"}, {"name": "execute", "started_at": "2022-06-30T19:28:50.045908Z", "completed_at": "2022-06-30T19:28:50.045913Z"}], "thread_id": "Thread-4", "execution_time": 0.0038268566131591797, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_report_date_day__keyword_id.fe6a646a5a"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T19:28:49.785568Z", "completed_at": "2022-06-30T19:28:50.090036Z"}, {"name": "execute", "started_at": "2022-06-30T19:28:50.090180Z", "completed_at": "2022-06-30T19:28:50.090186Z"}], "thread_id": "Thread-2", "execution_time": 0.3387782573699951, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__pin_promotion_report"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T19:28:50.133127Z", "completed_at": "2022-06-30T19:28:50.149301Z"}, {"name": "execute", "started_at": "2022-06-30T19:28:50.149664Z", "completed_at": "2022-06-30T19:28:50.149667Z"}], "thread_id": "Thread-1", "execution_time": 0.024283885955810547, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_report_date_day__pin_promotion_id.f30a887f4d"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T19:28:49.769747Z", "completed_at": "2022-06-30T19:28:50.149149Z"}, {"name": "execute", "started_at": "2022-06-30T19:28:50.149576Z", "completed_at": "2022-06-30T19:28:50.149583Z"}], "thread_id": "Thread-3", "execution_time": 0.4112739562988281, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__pin_promotion_history"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T19:28:50.181065Z", "completed_at": "2022-06-30T19:28:50.184159Z"}, {"name": "execute", "started_at": "2022-06-30T19:28:50.184302Z", "completed_at": "2022-06-30T19:28:50.184309Z"}], "thread_id": "Thread-2", "execution_time": 0.0035772323608398438, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_history__fivetran_synced__pin_promotion_id.8e9ab31ea9"}], "elapsed_time": 1.9550960063934326, "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 diff --git a/integration_tests/ci/sample.profiles.yml b/integration_tests/ci/sample.profiles.yml index e75e029..b947cc7 100644 --- a/integration_tests/ci/sample.profiles.yml +++ b/integration_tests/ci/sample.profiles.yml @@ -54,7 +54,7 @@ integration_tests: password: "{{ env_var('CI_POSTGRES_DBT_PASS') }}" port: 5432 dbname: "{{ env_var('CI_POSTGRES_DBT_DATABASE') }}" - schema: facebook_ads_creative_history_integration_tests + schema: pinterest_source_integration_tests threads: 8 keepalives_idle: 0 sslmode: prefer \ No newline at end of file diff --git a/integration_tests/dbt_project.yml b/integration_tests/dbt_project.yml index 65052e2..aab455c 100644 --- a/integration_tests/dbt_project.yml +++ b/integration_tests/dbt_project.yml @@ -1,36 +1,33 @@ name: 'pinterest_source_integration_tests' -version: '0.4.0' +version: '0.6.0' profile: 'integration_tests' config-version: 2 vars: - pinterest_source: - ad_group_history: "{{ ref('ad_group_history_data') }}" - campaign_history: "{{ ref('campaign_history_data') }}" - pin_promotion_history: "{{ ref('pin_promotion_history_data') }}" - pin_promotion_report: "{{ ref('pin_promotion_report_data') }}" + pinterest_schema: pinterest_source_integration_tests + pinterest_ad_group_history_identifier: "ad_group_history_data" + pinterest_campaign_history_identifier: "campaign_history_data" + pinterest_pin_promotion_history_identifier: "pin_promotion_history_data" + pinterest_pin_promotion_report_identifier: "pin_promotion_report_data" + pinterest_keyword_history_identifier: "keyword_history_data" + pinterest_keyword_report_identifier: "keyword_report_data" + pinterest_ad_group_report_identifier: "ad_group_report_data" + pinterest_campaign_report_identifier: "campaign_report_data" + pinterest_advertiser_history_identifier: "advertiser_history_data" + pinterest_advertiser_report_identifier: "advertiser_report_data" seeds: - +quote_columns: "{{ true if target.type == 'redshift' else false }}" + +quote_columns: "{{ true if target.type in ('redshift','postgres') else false }}" pinterest_source_integration_tests: - ad_group_history_data: - +column_types: - ID: "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}" - CAMPAIGN_ID: "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}" - campaign_history_data: - +column_types: - ID: "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}" - pin_promotion_history_data: - +column_types: - ID: "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}" - AD_GROUP_ID: "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}" - PIN_ID: "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}" - pin_promotion_report_data: - +column_types: - PIN_PROMOTION_ID: "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}" - AD_GROUP_ID: "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}" - CAMPAIGN_ID: "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}" - ADVERTISER_ID: "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}" + +column_types: + id: "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}" + campaign_id: "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}" + ad_group_id: "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}" + pin_id: "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}" + campaign_id: "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}" + advertiser_id: "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}" + pin_promotion_id: "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}" + keyword_id: "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}" dispatch: - macro_namespace: dbt_utils diff --git a/integration_tests/seeds/ad_group_history_data.csv b/integration_tests/seeds/ad_group_history_data.csv index cca185d..8ed8eb6 100644 --- a/integration_tests/seeds/ad_group_history_data.csv +++ b/integration_tests/seeds/ad_group_history_data.csv @@ -1,4 +1,4 @@ -ID,CAMPAIGN_ID,CREATED_TIME,NAME,STATUS,START_TIME,END_TIME,_FIVETRAN_SYNCED +id,campaign_id,created_time,name,status,start_time,end_time,_fivetran_synced 2680065434898,626741793779,2020-03-26 09:38:46.000 +0000,9f8de0662581357b8af505197ad8145d,ACTIVE,2020-03-26 09:37:00.000 +0000,,2020-07-30 12:14:01.984 +0000 2680065434868,626741793779,2020-03-26 09:36:43.000 +0000,22a5457e096095c4e295a3c921db864c,ACTIVE,2020-03-26 09:36:00.000 +0000,,2020-07-30 12:14:01.246 +0000 2680065434863,626741793779,2020-03-26 09:35:49.000 +0000,5c7cdb607c2e540062914e276045d4d5,ACTIVE,2020-03-26 09:34:00.000 +0000,,2020-07-30 12:14:00.867 +0000 diff --git a/integration_tests/seeds/ad_group_report_data.csv b/integration_tests/seeds/ad_group_report_data.csv new file mode 100644 index 0000000..f186906 --- /dev/null +++ b/integration_tests/seeds/ad_group_report_data.csv @@ -0,0 +1,11 @@ +ad_group_id,advertiser_id,date,_fivetran_synced,ad_group_name,ad_group_status,campaign_daily_spend_cap,campaign_id,campaign_lifetime_spend_cap,campaign_name,campaign_status,clickthrough_1,clickthrough_1_gross,cpc_in_micro_dollar,cpm_in_micro_dollar,ctr,ecpc_in_micro_dollar,ecpm_in_micro_dollar,ectr,engagement_1,impression_1,impression_1_gross,outbound_click_1,paid_impression,spend_in_micro_dollar,total_engagement,total_impression_frequency,total_impression_user +2680072242253,549764253315,2022-06-07 0:00:00,2022-06-30 14:31:03,2022-06-07 14:30 | Ad group,COMPLETED,0,626746449918,25000000,Cat Campaign: Brand Awareness,COMPLETED,,,,3222224.215,,,3222224.215,,,223,267,,223,718556,,1.173684211,190 +2680072242253,549764253315,2022-06-08 0:00:00,2022-06-30 14:31:03,2022-06-07 14:30 | Ad group,COMPLETED,0,626746449918,25000000,Cat Campaign: Brand Awareness,COMPLETED,,,,2330311.663,,,2330311.663,,9,1046,1341,,1046,2437506,9,1.309136421,799 +2680072242253,549764253315,2022-06-14 0:00:00,2022-06-30 14:31:03,2022-06-07 14:30 | Ad group,COMPLETED,0,626746449918,25000000,Cat Campaign: Brand Awareness,COMPLETED,,,,2002916.391,,,2002916.391,,2,1208,1401,,1208,2419523,2,1.01769166,1187 +2680072242253,549764253315,2022-06-15 0:00:00,2022-06-30 14:31:03,2022-06-07 14:30 | Ad group,COMPLETED,0,626746449918,25000000,Cat Campaign: Brand Awareness,COMPLETED,,,,2000669.148,,,2000669.148,,4,1209,1345,,1209,2418809,4,1.085278276,1114 +2680072242253,549764253315,2022-06-10 0:00:00,2022-06-30 14:31:03,2022-06-07 14:30 | Ad group,COMPLETED,0,626746449918,25000000,Cat Campaign: Brand Awareness,COMPLETED,1,1,2424901,2025815.372,0.0008354218881,2424901,2025815.372,0.0008354218881,8,1197,1417,,1197,2424901,8,1.134597156,1055 +2680072242253,549764253315,2022-06-16 0:00:00,2022-06-30 14:31:03,2022-06-07 14:30 | Ad group,COMPLETED,0,626746449918,25000000,Cat Campaign: Brand Awareness,COMPLETED,1,1,1346372,2000552.749,0.001485884101,1346372,2000552.749,0.001485884101,8,673,712,,673,1346372,8,0.9655667145,697 +2680072242253,549764253315,2022-06-09 0:00:00,2022-06-30 14:31:03,2022-06-07 14:30 | Ad group,COMPLETED,0,626746449918,25000000,Cat Campaign: Brand Awareness,COMPLETED,1,1,2436977,2347762.042,0.0009633911368,2436977,2347762.042,0.0009633911368,16,1038,1262,1,1038,2436977,16,1.098412698,945 +2680072242253,549764253315,2022-06-11 0:00:00,2022-06-30 14:31:03,2022-06-07 14:30 | Ad group,COMPLETED,0,626746449918,25000000,Cat Campaign: Brand Awareness,COMPLETED,3,3,811233.6667,2060712.108,0.002540220152,811233.6667,2060712.108,0.002540220152,22,1181,1369,1,1181,2433701,22,1.098604651,1075 +2680072242253,549764253315,2022-06-12 0:00:00,2022-06-30 14:31:03,2022-06-07 14:30 | Ad group,COMPLETED,0,626746449918,25000000,Cat Campaign: Brand Awareness,COMPLETED,1,1,2425572,2078467.866,0.0008568980291,2425572,2078467.866,0.0008568980291,10,1167,1370,1,1167,2425572,10,1.200617284,972 +2680072242253,549764253315,2022-06-13 0:00:00,2022-06-30 14:31:03,2022-06-07 14:30 | Ad group,COMPLETED,0,626746449918,25000000,Cat Campaign: Brand Awareness,COMPLETED,2,2,1217487,2053097.808,0.001686340641,1217487,2053097.808,0.001686340641,15,1186,1417,2,1185,2434974,15,1.070397112,1108 \ No newline at end of file diff --git a/integration_tests/seeds/advertiser_history_data.csv b/integration_tests/seeds/advertiser_history_data.csv new file mode 100644 index 0000000..c6245c8 --- /dev/null +++ b/integration_tests/seeds/advertiser_history_data.csv @@ -0,0 +1,2 @@ +id,updated_time,_fivetran_synced,billing_profile_status,billing_type,country,created_time,currency,merchant_id,name,owner_user_id,status +549764253315,2022-06-07 14:43:17,2022-06-30 14:01:04,VALID,CASH_MONEY,US,2022-06-07 14:17:13,USD,,That Kitty Cat Company,1111111,ACTIVE \ No newline at end of file diff --git a/integration_tests/seeds/advertiser_report_data.csv b/integration_tests/seeds/advertiser_report_data.csv new file mode 100644 index 0000000..c116f12 --- /dev/null +++ b/integration_tests/seeds/advertiser_report_data.csv @@ -0,0 +1,11 @@ +advertiser_id,date,_fivetran_synced,clickthrough_1,clickthrough_1_gross,cpc_in_micro_dollar,cpm_in_micro_dollar,ctr,ecpc_in_micro_dollar,ecpm_in_micro_dollar,ectr,engagement_1,impression_1,impression_1_gross,outbound_click_1,paid_impression,spend_in_micro_dollar,total_engagement,total_impression_frequency,total_impression_user +549764253315,2022-06-15 0:00:00,2022-06-30 14:30:04,,,,2000669.148,,,2000669.148,,4,1209,1345,,1209,2418809,4,1.085278276,1114 +549764253315,2022-06-07 0:00:00,2022-06-30 14:30:04,,,,3222224.215,,,3222224.215,,,223,267,,223,718556,,1.173684211,190 +549764253315,2022-06-08 0:00:00,2022-06-30 14:30:04,,,,2330311.663,,,2330311.663,,9,1046,1341,,1046,2437506,9,1.309136421,799 +549764253315,2022-06-14 0:00:00,2022-06-30 14:30:04,,,,2002916.391,,,2002916.391,,2,1208,1401,,1208,2419523,2,1.01769166,1187 +549764253315,2022-06-10 0:00:00,2022-06-30 14:30:04,1,1,2424901,2025815.372,0.0008354218881,2424901,2025815.372,0.0008354218881,8,1197,1417,,1197,2424901,8,1.134597156,1055 +549764253315,2022-06-16 0:00:00,2022-06-30 14:30:04,1,1,1346372,2000552.749,0.001485884101,1346372,2000552.749,0.001485884101,8,673,712,,673,1346372,8,0.9655667145,697 +549764253315,2022-06-11 0:00:00,2022-06-30 14:30:04,3,3,811233.6667,2060712.108,0.002540220152,811233.6667,2060712.108,0.002540220152,22,1181,1369,1,1181,2433701,22,1.098604651,1075 +549764253315,2022-06-12 0:00:00,2022-06-30 14:30:04,1,1,2425572,2078467.866,0.0008568980291,2425572,2078467.866,0.0008568980291,10,1167,1370,1,1167,2425572,10,1.200617284,972 +549764253315,2022-06-09 0:00:00,2022-06-30 14:30:04,1,1,2436977,2347762.042,0.0009633911368,2436977,2347762.042,0.0009633911368,16,1038,1262,1,1038,2436977,16,1.098412698,945 +549764253315,2022-06-13 0:00:00,2022-06-30 14:30:04,2,2,1217487,2053097.808,0.001686340641,1217487,2053097.808,0.001686340641,15,1186,1417,2,1185,2434974,15,1.070397112,1108 \ No newline at end of file diff --git a/integration_tests/seeds/campaign_history_data.csv b/integration_tests/seeds/campaign_history_data.csv index 26bc29e..d51b4bc 100644 --- a/integration_tests/seeds/campaign_history_data.csv +++ b/integration_tests/seeds/campaign_history_data.csv @@ -1,2 +1,2 @@ -ID,CREATED_TIME,NAME,STATUS,_FIVETRAN_SYNCED +id,created_time,name,status,_fivetran_synced 626741793779,2020-03-26 08:59:57.000 +0000,19e757f946601de26307d8182635b716,ACTIVE,2020-07-30 12:14:00.362 +0000 \ No newline at end of file diff --git a/integration_tests/seeds/campaign_report_data.csv b/integration_tests/seeds/campaign_report_data.csv new file mode 100644 index 0000000..a7ffac7 --- /dev/null +++ b/integration_tests/seeds/campaign_report_data.csv @@ -0,0 +1,11 @@ +advertiser_id,campaign_id,date,_fivetran_synced,campaign_daily_spend_cap,campaign_lifetime_spend_cap,campaign_name,campaign_status,clickthrough_1,clickthrough_1_gross,cpc_in_micro_dollar,cpm_in_micro_dollar,ctr,ecpc_in_micro_dollar,ecpm_in_micro_dollar,ectr,engagement_1,impression_1,impression_1_gross,outbound_click_1,paid_impression,spend_in_micro_dollar,total_engagement,total_impression_frequency,total_impression_user +549764253315,626746449918,2022-06-08 0:00:00,2022-06-30 14:10:07,0,25000000,My Cat Is Purrfect,COMPLETED,,,,2330311.663,,,2330311.663,,9,1046,1341,,1046,2437506,9,1.309136421,799 +549764253315,626746449918,2022-06-14 0:00:00,2022-06-30 14:10:07,0,25000000,My Cat Is Purrfect,COMPLETED,,,,2002916.391,,,2002916.391,,2,1208,1401,,1208,2419523,2,1.01769166,1187 +549764253315,626746449918,2022-06-15 0:00:00,2022-06-30 14:10:07,0,25000000,My Cat Is Purrfect,COMPLETED,,,,2000669.148,,,2000669.148,,4,1209,1345,,1209,2418809,4,1.085278276,1114 +549764253315,626746449918,2022-06-07 0:00:00,2022-06-30 14:10:07,0,25000000,My Cat Is Purrfect,COMPLETED,,,,3222224.215,,,3222224.215,,,223,267,,223,718556,,1.173684211,190 +549764253315,626746449918,2022-06-10 0:00:00,2022-06-30 14:10:07,0,25000000,My Cat Is Purrfect,COMPLETED,1,1,2424901,2025815.372,0.0008354218881,2424901,2025815.372,0.0008354218881,8,1197,1417,,1197,2424901,8,1.134597156,1055 +549764253315,626746449918,2022-06-16 0:00:00,2022-06-30 14:10:07,0,25000000,My Cat Is Purrfect,COMPLETED,1,1,1346372,2000552.749,0.001485884101,1346372,2000552.749,0.001485884101,8,673,712,,673,1346372,8,0.9655667145,697 +549764253315,626746449918,2022-06-11 0:00:00,2022-06-30 14:10:07,0,25000000,My Cat Is Purrfect,COMPLETED,3,3,811233.6667,2060712.108,0.002540220152,811233.6667,2060712.108,0.002540220152,22,1181,1369,1,1181,2433701,22,1.098604651,1075 +549764253315,626746449918,2022-06-12 0:00:00,2022-06-30 14:10:07,0,25000000,My Cat Is Purrfect,COMPLETED,1,1,2425572,2078467.866,0.0008568980291,2425572,2078467.866,0.0008568980291,10,1167,1370,1,1167,2425572,10,1.200617284,972 +549764253315,626746449918,2022-06-09 0:00:00,2022-06-30 14:10:07,0,25000000,My Cat Is Purrfect,COMPLETED,1,1,2436977,2347762.042,0.0009633911368,2436977,2347762.042,0.0009633911368,16,1038,1262,1,1038,2436977,16,1.098412698,945 +549764253315,626746449918,2022-06-13 0:00:00,2022-06-30 14:10:07,0,25000000,My Cat Is Purrfect,COMPLETED,2,2,1217487,2053097.808,0.001686340641,1217487,2053097.808,0.001686340641,15,1186,1417,2,1185,2434974,15,1.070397112,1108 \ No newline at end of file diff --git a/integration_tests/seeds/keyword_history_data.csv b/integration_tests/seeds/keyword_history_data.csv new file mode 100644 index 0000000..51f2109 --- /dev/null +++ b/integration_tests/seeds/keyword_history_data.csv @@ -0,0 +1,11 @@ +_fivetran_id,_fivetran_synced,ad_group_id,advertiser_id,archived,bid,campaign_id,id,match_type,parent_type,value +EzxgxB9EE6a6AMma/sqx0ZB4pPU=,2022-06-30 14:01:05,2680072242253,,FALSE,,,2886843206594,BROAD,AD_GROUP,development +wYse+Xtf2L/SnzThOMnxccXJaM4=,2022-06-30 14:01:05,2680072242253,,FALSE,,,2886843206590,BROAD,AD_GROUP,pasta +DauS5IYbqd9myiE2Sf48/gxdYtk=,2022-06-30 14:01:05,2680072242253,,FALSE,,,2886843206587,BROAD,AD_GROUP,gaming +dnYod6xOMc/p/1/vRVBmtHc9MOE=,2022-06-30 14:01:05,2680072242253,,FALSE,,,2886843206595,BROAD,AD_GROUP,game animals +e7sEbGLUh9M3kDrqPQRjk4VSEiU=,2022-06-30 14:01:05,2680072242253,,FALSE,,,2886843206586,BROAD,AD_GROUP,cat +WKo7cli6AW25q84txWkj0ElbNgc=,2022-06-30 14:01:05,2680072242253,,FALSE,,,2886843206593,BROAD,AD_GROUP,you +Rm9dXZR1BJWn52udNn+s1+hKXoc=,2022-06-30 14:01:05,2680072242253,,FALSE,,,2886843206589,BROAD,AD_GROUP,are +vRfN8m9pY6IRUVV8H7N9lQQaEYU=,2022-06-30 14:01:05,2680072242253,,FALSE,,,2886843206591,BROAD,AD_GROUP,curious +3wtluSTMp046Wxz/zVO0oh+Ldh4=,2022-06-30 14:01:05,2680072242253,,FALSE,,,2886843206592,BROAD,AD_GROUP,aren't +bVbQarPqKGBt68E4yzjc6GV/+tI=,2022-06-30 14:01:05,2680072242253,,FALSE,,,2886843206588,BROAD,AD_GROUP,you \ No newline at end of file diff --git a/integration_tests/seeds/keyword_report_data.csv b/integration_tests/seeds/keyword_report_data.csv new file mode 100644 index 0000000..0a5b487 --- /dev/null +++ b/integration_tests/seeds/keyword_report_data.csv @@ -0,0 +1,30 @@ +ad_group_id,advertiser_id,campaign_id,date,keyword_id,pin_id,pin_promotion_id,_fivetran_synced,ad_group_name,ad_group_status,campaign_daily_spend_cap,campaign_lifetime_spend_cap,campaign_name,campaign_status,clickthrough_1,clickthrough_1_gross,cpc_in_micro_dollar,cpm_in_micro_dollar,ctr,ecpc_in_micro_dollar,ecpm_in_micro_dollar,ectr,engagement_1,impression_1,impression_1_gross,outbound_click_1,paid_impression,pin_promotion_name,pin_promotion_status,spend_in_micro_dollar,targeting_type,targeting_value,total_engagement +2680072242253,549764253315,626746449918,2022-06-10 0:00:00,2886843206586,1014646991029263265,687237616200,2022-06-30 14:11:01,2022-06-07 14:30 | Ad group,COMPLETED,0,25000000,My Cat is Purrfect,COMPLETED,,,,2009000,,,2009000,,,1,1,,1,Awareness | Seriously My Cat is Amazing,APPROVED,2009,KEYWORD,cat, +2680072242253,549764253315,626746449918,2022-06-15 0:00:00,2886843206587,1014646991029263265,687237616200,2022-06-30 14:11:01,2022-06-07 14:30 | Ad group,COMPLETED,0,25000000,My Cat is Purrfect,COMPLETED,,,,2000500,,,2000500,,,32,35,,32,Awareness | Seriously My Cat is Amazing,APPROVED,64016,KEYWORD,gaming, +2680072242253,549764253315,626746449918,2022-06-16 0:00:00,2886843206587,1014646991029263265,687237616200,2022-06-30 14:11:01,2022-06-07 14:30 | Ad group,COMPLETED,0,25000000,My Cat is Purrfect,COMPLETED,,,,2000333.333,,,2000333.333,,,12,13,,12,Awareness | Seriously My Cat is Amazing,APPROVED,24004,KEYWORD,gaming, +2680072242253,549764253315,626746449918,2022-06-07 0:00:00,2886843206587,1014646991029263265,687237616200,2022-06-30 14:11:01,2022-06-07 14:30 | Ad group,COMPLETED,0,25000000,My Cat is Purrfect,COMPLETED,,,,3246400,,,3246400,,,5,5,,5,Awareness | Seriously My Cat is Amazing,APPROVED,16232,KEYWORD,gaming, +2680072242253,549764253315,626746449918,2022-06-10 0:00:00,2886843206587,1014646991029263265,687237616200,2022-06-30 14:11:01,2022-06-07 14:30 | Ad group,COMPLETED,0,25000000,My Cat is Purrfect,COMPLETED,,,,2031560.976,,,2031560.976,,,41,54,,41,Awareness | Seriously My Cat is Amazing,APPROVED,83294,KEYWORD,gaming, +2680072242253,549764253315,626746449918,2022-06-12 0:00:00,2886843206587,1014646991029263265,687237616200,2022-06-30 14:11:01,2022-06-07 14:30 | Ad group,COMPLETED,0,25000000,My Cat is Purrfect,COMPLETED,,,,2092914.286,,,2092914.286,,,35,41,,35,Awareness | Seriously My Cat is Amazing,APPROVED,73252,KEYWORD,gaming, +2680072242253,549764253315,626746449918,2022-06-13 0:00:00,2886843206587,1014646991029263265,687237616200,2022-06-30 14:11:01,2022-06-07 14:30 | Ad group,COMPLETED,0,25000000,My Cat is Purrfect,COMPLETED,,,,2058321.429,,,2058321.429,,,28,37,,28,Awareness | Seriously My Cat is Amazing,APPROVED,57633,KEYWORD,gaming, +2680072242253,549764253315,626746449918,2022-06-15 0:00:00,2886843206589,1014646991029263265,687237616200,2022-06-30 14:11:01,2022-06-07 14:30 | Ad group,COMPLETED,0,25000000,My Cat is Purrfect,COMPLETED,,,,2000448.276,,,2000448.276,,,87,102,,87,Awareness | Seriously My Cat is Amazing,APPROVED,174039,KEYWORD,digital art, +2680072242253,549764253315,626746449918,2022-06-16 0:00:00,2886843206589,1014646991029263265,687237616200,2022-06-30 14:11:01,2022-06-07 14:30 | Ad group,COMPLETED,0,25000000,My Cat is Purrfect,COMPLETED,,,,2001375,,,2001375,,,32,34,,32,Awareness | Seriously My Cat is Amazing,APPROVED,64044,KEYWORD,digital art, +2680072242253,549764253315,626746449918,2022-06-07 0:00:00,2886843206589,1014646991029263265,687237616200,2022-06-30 14:11:01,2022-06-07 14:30 | Ad group,COMPLETED,0,25000000,My Cat is Purrfect,COMPLETED,,,,3218750,,,3218750,,,12,14,,12,Awareness | Seriously My Cat is Amazing,APPROVED,38625,KEYWORD,digital art, +2680072242253,549764253315,626746449918,2022-06-08 0:00:00,2886843206589,1014646991029263265,687237616200,2022-06-30 14:11:01,2022-06-07 14:30 | Ad group,COMPLETED,0,25000000,My Cat is Purrfect,COMPLETED,,,,2306754.902,,,2306754.902,,,102,144,,102,Awareness | Seriously My Cat is Amazing,APPROVED,235289,KEYWORD,digital art, +2680072242253,549764253315,626746449918,2022-06-09 0:00:00,2886843206589,1014646991029263265,687237616200,2022-06-30 14:11:01,2022-06-07 14:30 | Ad group,COMPLETED,0,25000000,My Cat is Purrfect,COMPLETED,,,,2353175.676,,,2353175.676,,,74,93,,74,Awareness | Seriously My Cat is Amazing,APPROVED,174135,KEYWORD,digital art, +2680072242253,549764253315,626746449918,2022-06-10 0:00:00,2886843206589,1014646991029263265,687237616200,2022-06-30 14:11:01,2022-06-07 14:30 | Ad group,COMPLETED,0,25000000,My Cat is Purrfect,COMPLETED,,,,2034904.11,,,2034904.11,,,73,88,,73,Awareness | Seriously My Cat is Amazing,APPROVED,148548,KEYWORD,digital art, +2680072242253,549764253315,626746449918,2022-06-11 0:00:00,2886843206589,1014646991029263265,687237616200,2022-06-30 14:11:01,2022-06-07 14:30 | Ad group,COMPLETED,0,25000000,My Cat is Purrfect,COMPLETED,,,,2072289.474,,,2072289.474,,,38,45,,38,Awareness | Seriously My Cat is Amazing,APPROVED,78747,KEYWORD,digital art, +2680072242253,549764253315,626746449918,2022-06-12 0:00:00,2886843206589,1014646991029263265,687237616200,2022-06-30 14:11:01,2022-06-07 14:30 | Ad group,COMPLETED,0,25000000,My Cat is Purrfect,COMPLETED,,,,2090500,,,2090500,,,100,115,,100,Awareness | Seriously My Cat is Amazing,APPROVED,209050,KEYWORD,digital art, +2680072242253,549764253315,626746449918,2022-06-14 0:00:00,2886843206589,1014646991029263265,687237616200,2022-06-30 14:11:01,2022-06-07 14:30 | Ad group,COMPLETED,0,25000000,My Cat is Purrfect,COMPLETED,,,,2002663.934,,,2002663.934,,,122,135,,122,Awareness | Seriously My Cat is Amazing,APPROVED,244325,KEYWORD,digital art, +2680072242253,549764253315,626746449918,2022-06-15 0:00:00,2886843206592,1014646991029263265,687237616200,2022-06-30 14:11:01,2022-06-07 14:30 | Ad group,COMPLETED,0,25000000,My Cat is Purrfect,COMPLETED,,,,2000521.739,,,2000521.739,,,46,53,,46,Awareness | Seriously My Cat is Amazing,APPROVED,92024,KEYWORD,cat lover, +2680072242253,549764253315,626746449918,2022-06-16 0:00:00,2886843206592,1014646991029263265,687237616200,2022-06-30 14:11:01,2022-06-07 14:30 | Ad group,COMPLETED,0,25000000,My Cat is Purrfect,COMPLETED,,,,2000400,,,2000400,,,15,16,,15,Awareness | Seriously My Cat is Amazing,APPROVED,30006,KEYWORD,cat lover, +2680072242253,549764253315,626746449918,2022-06-07 0:00:00,2886843206592,1014646991029263265,687237616200,2022-06-30 14:11:01,2022-06-07 14:30 | Ad group,COMPLETED,0,25000000,My Cat is Purrfect,COMPLETED,,,,3181000,,,3181000,,,5,7,,5,Awareness | Seriously My Cat is Amazing,APPROVED,15905,KEYWORD,cat lover, +2680072242253,549764253315,626746449918,2022-06-08 0:00:00,2886843206592,1014646991029263265,687237616200,2022-06-30 14:11:01,2022-06-07 14:30 | Ad group,COMPLETED,0,25000000,My Cat is Purrfect,COMPLETED,,,,2319567.01,,,2319567.01,,,97,140,,97,Awareness | Seriously My Cat is Amazing,APPROVED,224998,KEYWORD,cat lover, +2680072242253,549764253315,626746449918,2022-06-09 0:00:00,2886843206592,1014646991029263265,687237616200,2022-06-30 14:11:01,2022-06-07 14:30 | Ad group,COMPLETED,0,25000000,My Cat is Purrfect,COMPLETED,,,,2368694.737,,,2368694.737,,,95,111,,95,Awareness | Seriously My Cat is Amazing,APPROVED,225026,KEYWORD,cat lover, +2680072242253,549764253315,626746449918,2022-06-10 0:00:00,2886843206592,1014646991029263265,687237616200,2022-06-30 14:11:01,2022-06-07 14:30 | Ad group,COMPLETED,0,25000000,My Cat is Purrfect,COMPLETED,,,,2025566.265,,,2025566.265,,,83,92,,83,Awareness | Seriously My Cat is Amazing,APPROVED,168122,KEYWORD,cat lover, +2680072242253,549764253315,626746449918,2022-06-11 0:00:00,2886843206592,1014646991029263265,687237616200,2022-06-30 14:11:01,2022-06-07 14:30 | Ad group,COMPLETED,0,25000000,My Cat is Purrfect,COMPLETED,,,,2065142.857,,,2065142.857,,,56,63,,56,Awareness | Seriously My Cat is Amazing,APPROVED,115648,KEYWORD,cat lover, +2680072242253,549764253315,626746449918,2022-06-12 0:00:00,2886843206592,1014646991029263265,687237616200,2022-06-30 14:11:01,2022-06-07 14:30 | Ad group,COMPLETED,0,25000000,My Cat is Purrfect,COMPLETED,,,,2114777.778,,,2114777.778,,,54,62,,54,Awareness | Seriously My Cat is Amazing,APPROVED,114198,KEYWORD,cat lover, +2680072242253,549764253315,626746449918,2022-06-13 0:00:00,2886843206592,1014646991029263265,687237616200,2022-06-30 14:11:01,2022-06-07 14:30 | Ad group,COMPLETED,0,25000000,My Cat is Purrfect,COMPLETED,,,,2047761.905,,,2047761.905,,,42,47,,42,Awareness | Seriously My Cat is Amazing,APPROVED,86006,KEYWORD,cat lover, +2680072242253,549764253315,626746449918,2022-06-14 0:00:00,2886843206592,1014646991029263265,687237616200,2022-06-30 14:11:01,2022-06-07 14:30 | Ad group,COMPLETED,0,25000000,My Cat is Purrfect,COMPLETED,,,,2002763.636,,,2002763.636,,,55,62,,55,Awareness | Seriously My Cat is Amazing,APPROVED,110152,KEYWORD,cat lover, +2680072242253,549764253315,626746449918,2022-06-16 0:00:00,2886843206593,1014646991029263265,687237616200,2022-06-30 14:11:01,2022-06-07 14:30 | Ad group,COMPLETED,0,25000000,My Cat is Purrfect,COMPLETED,,,,2000666.667,,,2000666.667,,,3,3,,3,Awareness | Seriously My Cat is Amazing,APPROVED,6002,KEYWORD,cat drawing, +2680072242253,549764253315,626746449918,2022-06-10 0:00:00,2886843206593,1014646991029263265,687237616200,2022-06-30 14:11:01,2022-06-07 14:30 | Ad group,COMPLETED,0,25000000,My Cat is Purrfect,COMPLETED,,,,2018000,,,2018000,,,1,1,,1,Awareness | Seriously My Cat is Amazing,APPROVED,2018,KEYWORD,cat drawing, +2680072242253,549764253315,626746449918,2022-06-15 0:00:00,2886843206594,1014646991029263265,687237616200,2022-06-30 14:11:01,2022-06-07 14:30 | Ad group,COMPLETED,0,25000000,My Cat is Purrfect,COMPLETED,,,,2000000,,,2000000,,,1,1,,1,Awareness | Seriously My Cat is Amazing,APPROVED,2000,KEYWORD,development, \ No newline at end of file diff --git a/integration_tests/seeds/pin_promotion_history_data.csv b/integration_tests/seeds/pin_promotion_history_data.csv index fec5edf..67b6060 100644 --- a/integration_tests/seeds/pin_promotion_history_data.csv +++ b/integration_tests/seeds/pin_promotion_history_data.csv @@ -1,4 +1,4 @@ -ID,AD_GROUP_ID,CREATED_TIME,DESTINATION_URL,NAME,PIN_ID,STATUS,CREATIVE_TYPE,_FIVETRAN_SYNCED +id,ad_group_id,created_time,destination_url,name,pin_id,status,creative_type,_fivetran_synced 687205395400,2680065434868,2020-03-26 09:36:43.000 +0000,https://website.com/page?utm_source=sdfds,8d2b9c960e7bf8a6c22239377c1e6d81,848506386032216135,ACTIVE,VIDEO,2020-05-28 06:14:04.150 +0000 687205395399,2680065434868,2020-03-26 09:36:43.000 +0000,https://website.com/page?utm_source=sdfds,8d2b9c960e7bf8a6c22239377c1e6d81,848506386032216220,ACTIVE,VIDEO,2020-06-15 18:14:18.130 +0000 687205395403,2680065434881,2020-03-26 09:37:17.000 +0000,https://website.com/page?utm_source=sdfds,8d2b9c960e7bf8a6c22239377c1e6d81,848506386032216135,ACTIVE,VIDEO,2020-07-01 12:14:37.616 +0000 diff --git a/integration_tests/seeds/pin_promotion_report_data.csv b/integration_tests/seeds/pin_promotion_report_data.csv index 57cb891..8630481 100644 --- a/integration_tests/seeds/pin_promotion_report_data.csv +++ b/integration_tests/seeds/pin_promotion_report_data.csv @@ -1,4 +1,4 @@ -DATE,PIN_PROMOTION_ID,AD_GROUP_ID,CAMPAIGN_ID,ADVERTISER_ID,_FIVETRAN_SYNCED,IMPRESSION_1,IMPRESSION_2,CLICKTHROUGH_1,CLICKTHROUGH_2,SPEND_IN_MICRO_DOLLAR +date,pin_promotion_id,ad_group_id,campaign_id,advertiser_id,_fivetran_synced,impression_1,impression_2,clickthrough_1,clickthrough_2,spend_in_micro_dollar 2020-04-20 00:00:00.000 +0000,687205395433,2680065434898,626741793779,549760489669,2020-05-21 15:09:01.558 +0000,5167,,38,,5898162 2020-04-20 00:00:00.000 +0000,687205395434,2680065434898,626741793779,549760489669,2020-05-21 15:09:01.558 +0000,607,1,14,,2234418 2020-04-20 00:00:00.000 +0000,687205395435,2680065434898,626741793779,549760489669,2020-05-21 15:09:01.558 +0000,1169,,4,,594512 diff --git a/macros/get_ad_group_history_columns.sql b/macros/get_ad_group_history_columns.sql index 2711ee7..9281f29 100644 --- a/macros/get_ad_group_history_columns.sql +++ b/macros/get_ad_group_history_columns.sql @@ -3,11 +3,11 @@ {% set columns = [ {"name": "_fivetran_synced", "datatype": dbt_utils.type_timestamp()}, {"name": "campaign_id", "datatype": dbt_utils.type_string()}, - {"name": "created_time", "datatype": dbt_utils.type_timestamp(), "alias": "created_timestamp"}, - {"name": "end_time", "datatype": dbt_utils.type_timestamp(), "alias": "end_timestamp"}, - {"name": "id", "datatype": dbt_utils.type_string(), "alias": "ad_group_id"}, + {"name": "created_time", "datatype": dbt_utils.type_timestamp()}, + {"name": "end_time", "datatype": dbt_utils.type_timestamp()}, + {"name": "id", "datatype": dbt_utils.type_string()}, {"name": "name", "datatype": dbt_utils.type_string()}, - {"name": "start_time", "datatype": dbt_utils.type_timestamp(), "alias": "start_timestamp"}, + {"name": "start_time", "datatype": dbt_utils.type_timestamp()}, {"name": "status", "datatype": dbt_utils.type_string()} ] %} diff --git a/macros/get_ad_group_report_columns.sql b/macros/get_ad_group_report_columns.sql new file mode 100644 index 0000000..6859041 --- /dev/null +++ b/macros/get_ad_group_report_columns.sql @@ -0,0 +1,20 @@ +{% macro get_ad_group_report_columns() %} + +{% set columns = [ + {"name": "_fivetran_synced", "datatype": dbt_utils.type_timestamp()}, + {"name": "ad_group_id", "datatype": dbt_utils.type_string()}, + {"name": "ad_group_name", "datatype": dbt_utils.type_string()}, + {"name": "ad_group_status", "datatype": dbt_utils.type_string()}, + {"name": "advertiser_id", "datatype": dbt_utils.type_string()}, + {"name": "campaign_id", "datatype": dbt_utils.type_int()}, + {"name": "clickthrough_1", "datatype": dbt_utils.type_int()}, + {"name": "clickthrough_2", "datatype": dbt_utils.type_int()}, + {"name": "date", "datatype": dbt_utils.type_timestamp()}, + {"name": "impression_1", "datatype": dbt_utils.type_int()}, + {"name": "impression_2", "datatype": dbt_utils.type_int()}, + {"name": "spend_in_micro_dollar", "datatype": dbt_utils.type_int()} +] %} + +{{ return(columns) }} + +{% endmacro %} diff --git a/macros/get_advertiser_history_columns.sql b/macros/get_advertiser_history_columns.sql new file mode 100644 index 0000000..1ace47c --- /dev/null +++ b/macros/get_advertiser_history_columns.sql @@ -0,0 +1,20 @@ +{% macro get_advertiser_history_columns() %} + +{% set columns = [ + {"name": "_fivetran_synced", "datatype": dbt_utils.type_timestamp()}, + {"name": "billing_profile_status", "datatype": dbt_utils.type_string()}, + {"name": "billing_type", "datatype": dbt_utils.type_string()}, + {"name": "country", "datatype": dbt_utils.type_string()}, + {"name": "created_time", "datatype": dbt_utils.type_timestamp()}, + {"name": "currency", "datatype": dbt_utils.type_string()}, + {"name": "id", "datatype": dbt_utils.type_string()}, + {"name": "merchant_id", "datatype": dbt_utils.type_string()}, + {"name": "name", "datatype": dbt_utils.type_string()}, + {"name": "owner_user_id", "datatype": dbt_utils.type_string()}, + {"name": "status", "datatype": dbt_utils.type_string()}, + {"name": "updated_time", "datatype": dbt_utils.type_timestamp()} +] %} + +{{ return(columns) }} + +{% endmacro %} diff --git a/macros/get_advertiser_report_columns.sql b/macros/get_advertiser_report_columns.sql new file mode 100644 index 0000000..4cc50e4 --- /dev/null +++ b/macros/get_advertiser_report_columns.sql @@ -0,0 +1,16 @@ +{% macro get_advertiser_report_columns() %} + +{% set columns = [ + {"name": "_fivetran_synced", "datatype": dbt_utils.type_timestamp()}, + {"name": "advertiser_id", "datatype": dbt_utils.type_string()}, + {"name": "clickthrough_1", "datatype": dbt_utils.type_int()}, + {"name": "clickthrough_2", "datatype": dbt_utils.type_int()}, + {"name": "date", "datatype": dbt_utils.type_timestamp()}, + {"name": "impression_1", "datatype": dbt_utils.type_int()}, + {"name": "impression_2", "datatype": dbt_utils.type_int()}, + {"name": "spend_in_micro_dollar", "datatype": dbt_utils.type_int()} +] %} + +{{ return(columns) }} + +{% endmacro %} diff --git a/macros/get_campaign_history_columns.sql b/macros/get_campaign_history_columns.sql index 134101d..4befe43 100644 --- a/macros/get_campaign_history_columns.sql +++ b/macros/get_campaign_history_columns.sql @@ -2,8 +2,8 @@ {% set columns = [ {"name": "_fivetran_synced", "datatype": dbt_utils.type_timestamp()}, - {"name": "created_time", "datatype": dbt_utils.type_timestamp(), "alias": "created_timestamp"}, - {"name": "id", "datatype": dbt_utils.type_string(), "alias": "campaign_id"}, + {"name": "created_time", "datatype": dbt_utils.type_timestamp()}, + {"name": "id", "datatype": dbt_utils.type_string()}, {"name": "name", "datatype": dbt_utils.type_string()}, {"name": "status", "datatype": dbt_utils.type_string()} ] %} diff --git a/macros/get_campaign_report_columns.sql b/macros/get_campaign_report_columns.sql new file mode 100644 index 0000000..8de67e4 --- /dev/null +++ b/macros/get_campaign_report_columns.sql @@ -0,0 +1,19 @@ +{% macro get_campaign_report_columns() %} + +{% set columns = [ + {"name": "_fivetran_synced", "datatype": dbt_utils.type_timestamp()}, + {"name": "advertiser_id", "datatype": dbt_utils.type_string()}, + {"name": "campaign_id", "datatype": dbt_utils.type_string()}, + {"name": "campaign_name", "datatype": dbt_utils.type_string()}, + {"name": "campaign_status", "datatype": dbt_utils.type_string()}, + {"name": "clickthrough_1", "datatype": dbt_utils.type_int()}, + {"name": "clickthrough_2", "datatype": dbt_utils.type_int()}, + {"name": "date", "datatype": dbt_utils.type_timestamp()}, + {"name": "impression_1", "datatype": dbt_utils.type_int()}, + {"name": "impression_2", "datatype": dbt_utils.type_int()}, + {"name": "spend_in_micro_dollar", "datatype": dbt_utils.type_int()} +] %} + +{{ return(columns) }} + +{% endmacro %} diff --git a/macros/get_keyword_history_columns.sql b/macros/get_keyword_history_columns.sql new file mode 100644 index 0000000..92e514e --- /dev/null +++ b/macros/get_keyword_history_columns.sql @@ -0,0 +1,19 @@ +{% macro get_keyword_history_columns() %} + +{% set columns = [ + {"name": "_fivetran_id", "datatype": dbt_utils.type_string()}, + {"name": "_fivetran_synced", "datatype": dbt_utils.type_timestamp()}, + {"name": "ad_group_id", "datatype": dbt_utils.type_string()}, + {"name": "advertiser_id", "datatype": dbt_utils.type_string()}, + {"name": "archived", "datatype": "boolean"}, + {"name": "bid", "datatype": dbt_utils.type_int()}, + {"name": "campaign_id", "datatype": dbt_utils.type_string()}, + {"name": "id", "datatype": dbt_utils.type_string()}, + {"name": "match_type", "datatype": dbt_utils.type_string()}, + {"name": "parent_type", "datatype": dbt_utils.type_string()}, + {"name": "value", "datatype": dbt_utils.type_string()} +] %} + +{{ return(columns) }} + +{% endmacro %} diff --git a/macros/get_keyword_report_columns.sql b/macros/get_keyword_report_columns.sql new file mode 100644 index 0000000..6a5f50c --- /dev/null +++ b/macros/get_keyword_report_columns.sql @@ -0,0 +1,22 @@ +{% macro get_keyword_report_columns() %} + +{% set columns = [ + {"name": "_fivetran_synced", "datatype": dbt_utils.type_timestamp()}, + {"name": "ad_group_id", "datatype": dbt_utils.type_string()}, + {"name": "ad_group_name", "datatype": dbt_utils.type_string()}, + {"name": "ad_group_status", "datatype": dbt_utils.type_string()}, + {"name": "advertiser_id", "datatype": dbt_utils.type_string()}, + {"name": "campaign_id", "datatype": dbt_utils.type_string()}, + {"name": "clickthrough_1", "datatype": dbt_utils.type_int()}, + {"name": "clickthrough_2", "datatype": dbt_utils.type_int()}, + {"name": "date", "datatype": dbt_utils.type_timestamp()}, + {"name": "impression_1", "datatype": dbt_utils.type_int()}, + {"name": "impression_2", "datatype": dbt_utils.type_int()}, + {"name": "keyword_id", "datatype": dbt_utils.type_string()}, + {"name": "pin_promotion_id", "datatype": dbt_utils.type_string()}, + {"name": "spend_in_micro_dollar", "datatype": dbt_utils.type_int()} +] %} + +{{ return(columns) }} + +{% endmacro %} diff --git a/macros/get_pin_promotion_report_columns.sql b/macros/get_pin_promotion_report_columns.sql index a788857..caf62da 100644 --- a/macros/get_pin_promotion_report_columns.sql +++ b/macros/get_pin_promotion_report_columns.sql @@ -6,45 +6,12 @@ {"name": "advertiser_id", "datatype": dbt_utils.type_string()}, {"name": "campaign_id", "datatype": dbt_utils.type_string()}, {"name": "clickthrough_1", "datatype": dbt_utils.type_numeric()}, - {"name": "clickthrough_1_gross", "datatype": dbt_utils.type_numeric()}, {"name": "clickthrough_2", "datatype": dbt_utils.type_numeric()}, - {"name": "closeup_1", "datatype": dbt_utils.type_numeric()}, - {"name": "closeup_2", "datatype": dbt_utils.type_numeric()}, - {"name": "cpcv_in_micro_dollar", "datatype": dbt_utils.type_float()}, - {"name": "cpcv_p_95_in_micro_dollar", "datatype": dbt_utils.type_float()}, - {"name": "cpv_in_micro_dollar", "datatype": dbt_utils.type_float()}, {"name": "date", "datatype": dbt_utils.type_timestamp()}, - {"name": "engagement_1", "datatype": dbt_utils.type_numeric()}, - {"name": "engagement_2", "datatype": dbt_utils.type_numeric()}, {"name": "impression_1", "datatype": dbt_utils.type_numeric()}, - {"name": "impression_1_gross", "datatype": dbt_utils.type_numeric()}, {"name": "impression_2", "datatype": dbt_utils.type_numeric()}, - {"name": "pin_id", "datatype": dbt_utils.type_numeric()}, {"name": "pin_promotion_id", "datatype": dbt_utils.type_string()}, - {"name": "repin_1", "datatype": dbt_utils.type_numeric()}, - {"name": "repin_2", "datatype": dbt_utils.type_numeric()}, - {"name": "spend_in_micro_dollar", "datatype": dbt_utils.type_numeric()}, - {"name": "total_click_unknown", "datatype": dbt_utils.type_numeric()}, - {"name": "total_conversions", "datatype": dbt_utils.type_numeric()}, - {"name": "total_impression_frequency", "datatype": dbt_utils.type_float()}, - {"name": "total_impression_user", "datatype": dbt_utils.type_numeric()}, - {"name": "total_unknown_tablet_action_to_mobile_conversion", "datatype": dbt_utils.type_numeric()}, - {"name": "video_avg_watchtime_in_second_1", "datatype": dbt_utils.type_float()}, - {"name": "video_avg_watchtime_in_second_2", "datatype": dbt_utils.type_float()}, - {"name": "video_mrc_views_1", "datatype": dbt_utils.type_numeric()}, - {"name": "video_mrc_views_2", "datatype": dbt_utils.type_numeric()}, - {"name": "video_p_0_combined_1", "datatype": dbt_utils.type_numeric()}, - {"name": "video_p_0_combined_2", "datatype": dbt_utils.type_numeric()}, - {"name": "video_p_100_complete_1", "datatype": dbt_utils.type_numeric()}, - {"name": "video_p_100_complete_2", "datatype": dbt_utils.type_numeric()}, - {"name": "video_p_25_combined_1", "datatype": dbt_utils.type_numeric()}, - {"name": "video_p_25_combined_2", "datatype": dbt_utils.type_numeric()}, - {"name": "video_p_50_combined_1", "datatype": dbt_utils.type_numeric()}, - {"name": "video_p_50_combined_2", "datatype": dbt_utils.type_numeric()}, - {"name": "video_p_75_combined_1", "datatype": dbt_utils.type_numeric()}, - {"name": "video_p_75_combined_2", "datatype": dbt_utils.type_numeric()}, - {"name": "video_p_95_combined_1", "datatype": dbt_utils.type_numeric()}, - {"name": "video_p_95_combined_2", "datatype": dbt_utils.type_numeric()} + {"name": "spend_in_micro_dollar", "datatype": dbt_utils.type_numeric()} ] %} {{ return(columns) }} diff --git a/models/docs.md b/models/docs.md new file mode 100644 index 0000000..e5a79ab --- /dev/null +++ b/models/docs.md @@ -0,0 +1,33 @@ +{% docs _fivetran_synced %} Timestamp of when a record was last synced. {% enddocs %} + +{% docs is_most_recent_record %} Boolean representing whether the record is the most recent version of the object. {% enddocs %} + +{% docs date_day %} The performance date of the record. {% enddocs %} + +{% docs ad_group_id %} The ID of the related Ad group. {% enddocs %} + +{% docs pin_promotion_id %} The ID of the related Pin promotion. {% enddocs %} + +{% docs campaign_id %} The ID of the related Campaign. {% enddocs %} + +{% docs advertiser_id %} The ID of the related Advertiser. {% enddocs %} + +{% docs impressions %} The number of impressions that occurred on the day of the record. {% enddocs %} + +{% docs clicks %} The number of clicks that occurred on the day of the record. {% enddocs %} + +{% docs spend %} The amount of spend that occurred on the day of the record. {% enddocs %} + +{% docs updated_at %} Timestamp of when a record was last updated. {% enddocs %} + +{% docs created_at %} Timestamp of when a record was created. {% enddocs %} + +{% docs spend_in_micro_dollar %} The amount of spend in micro dollars that occurred on the day of the record. {% enddocs %} + +{% docs clickthrough_1 %} The number of paid pin clicks that occurred on the day of the record. {% enddocs %} + +{% docs clickthrough_2 %} The number of earned outbound clicks that occurred on the day of the record. {% enddocs %} + +{% docs impression_1 %} The number of paid pin impressions that occurred on the day of the record. {% enddocs %} + +{% docs impression_2 %} The number of earned pin impressions that occurred on the day of the record. {% enddocs %} \ No newline at end of file diff --git a/models/src_pinterest_ads.yml b/models/src_pinterest_ads.yml index 62c23e5..1fe4859 100644 --- a/models/src_pinterest_ads.yml +++ b/models/src_pinterest_ads.yml @@ -4,39 +4,50 @@ sources: - name: pinterest_ads schema: "{{ var('pinterest_schema', 'pinterest_ads') }}" database: "{% if target.type != 'spark'%}{{ var('pinterest_database', target.database) }}{% endif %}" + + loader: Fivetran + loaded_at_field: _fivetran_synced + + freshness: + warn_after: {count: 48, period: hour} + error_after: {count: 168, period: hour} + tables: - name: pin_promotion_report description: Each record represents the daily performance of a Pinterest Pin promotion. + identifier: "{{ var('pinterest_pin_promotion_report_identifier', 'pin_promotion_report') }}" columns: - name: date - description: The performance date of the record. + description: "{{ doc('date_day') }}" - name: pin_promotion_id - description: The ID of the related Pin promotion. + description: "{{ doc('pin_promotion_id') }}" - name: ad_group_id - description: The ID of the related Ad group. + description: "{{ doc('ad_group_id') }}" - name: campaign_id - description: The ID of the related Campaign. + description: "{{ doc('campaign_id') }}" - name: advertiser_id - description: The ID of the related Advertiser. + description: "{{ doc('advertiser_id') }}" - name: _fivetran_synced - description: The time Fivetran synced a record. + description: "{{ doc('_fivetran_synced') }}" - name: impression_1 - description: The number of impressions that occurred on the day of the record. + description: "{{ doc('impression_1') }}" - name: impression_2 - description: The number of impressions that occurred on the day of the record. + description: "{{ doc('impression_2') }}" - name: clickthrough_1 - description: The number of clicks that occurred on the day of the record. + description: "{{ doc('clickthrough_1') }}" - name: clickthrough_2 - description: The number of clicks that occurred on the day of the record. + description: "{{ doc('clickthrough_2') }}" - name: spend_in_micro_dollar - description: The amount of spend that occurred on the day of the record. + description: "{{ doc('spend_in_micro_dollar') }}" + - name: pin_promotion_history description: Each record represents a version of a Pinterest Pin promotion. + identifier: "{{ var('pinterest_pin_promotion_history_identifier', 'pin_promotion_history') }}" columns: - name: id - description: Pin promotion ID. + description: "{{ doc('pin_promotion_id') }}" - name: ad_group_id - description: Pin promotion ad group ID. + description: "{{ doc('ad_group_id') }}" - name: created_time description: Pin creation time. - name: destination_url @@ -53,13 +64,14 @@ sources: One of "APP", "APP_VIDEO", "BOARD", "CAROUSEL", "CINEMATIC", "COMMERCE", "MAX_VIDEO", "NATIVE_VIDEO", "REGULAR", "SEARCH_PROMINENCE", "SEARCH_PROMINENCE_CAROUSEL", "SHOPPING", "SHOP_THE_PIN", "THIRD_PARTY", or "VIDEO". - name: _fivetran_synced - description: The time Fivetran synced a record. + description: "{{ doc('_fivetran_synced') }}" - name: campaign_history description: Each record represents a version of a Pinterest Campaign. + identifier: "{{ var('pinterest_campaign_history_identifier', 'campaign_history') }}" columns: - name: id - description: Campaign ID. + description: "{{ doc('campaign_id') }}" - name: created_time description: Campaign creation time. - name: name @@ -67,15 +79,16 @@ sources: - name: status description: The status of the Campaign. One of "ACTIVE", "ARCHIVED", "PAUSED" - name: _fivetran_synced - description: The time Fivetran synced a record. + description: "{{ doc('_fivetran_synced') }}" - name: ad_group_history description: Each record represents a version of a Pinterest Ad Group. + identifier: "{{ var('pinterest_ad_group_history_identifier', 'ad_group_history') }}" columns: - name: id - description: Ad group ID. + description: "{{ doc('ad_group_id') }}" - name: campaign_id - description: Parent Campaign ID. + description: "{{ doc('campaign_id') }}" - name: created_time description: Ad group creation time. - name: name @@ -87,4 +100,170 @@ sources: - name: end_time description: Ad group end time. - name: _fivetran_synced - description: The time Fivetran synced a record. \ No newline at end of file + description: "{{ doc('_fivetran_synced') }}" + + - name: ad_group_report + description: source table + identifier: "{{ var('pinterest_ad_group_report_identifier', 'ad_group_report') }}" + columns: + - name: date + description: "{{ doc('date_day') }}" + - name: ad_group_id + description: "{{ doc('ad_group_id') }}" + - name: ad_group_name + description: Name of the ad group. + - name: ad_group_status + description: Status of the ad group. + - name: campaign_id + description: "{{ doc('campaign_id') }}" + - name: advertiser_id + description: "{{ doc('advertiser_id') }}" + - name: _fivetran_synced + description: "{{ doc('_fivetran_synced') }}" + - name: impression_1 + description: "{{ doc('impression_1') }}" + - name: impression_2 + description: "{{ doc('impression_2') }}" + - name: clickthrough_1 + description: "{{ doc('clickthrough_1') }}" + - name: clickthrough_2 + description: "{{ doc('clickthrough_2') }}" + - name: spend_in_micro_dollar + description: "{{ doc('spend_in_micro_dollar') }}" + + - name: advertiser_history + description: source table + identifier: "{{ var('pinterest_advertiser_history_identifier', 'advertiser_history') }}" + columns: + - name: id + description: "{{ doc('advertiser_id') }}" + - name: name + description: Name of the advertiser. + - name: status + description: Status of the advertiser. + - name: billing_profile_status + description: Status of the billing profile. + - name: billing_type + description: The billing type of the advertiser. Will typically be CREDIT_CARD or INVOICE. + - name: country + description: The country code where the advertiser is located. + - name: created_time + description: "{{ doc('created_at') }}" + - name: currency + description: The currency code which the a + - name: merchant_id + description: Unique ID of the merchant associated with the advertiser. + - name: owner_user_id + description: Unique identifier of the owner user. + - name: updated_time + description: "{{ doc('updated_at') }}" + - name: _fivetran_synced + description: "{{ doc('_fivetran_synced') }}" + + - name: advertiser_report + description: source table + identifier: "{{ var('pinterest_advertiser_report_identifier', 'advertiser_report') }}" + columns: + - name: date + description: "{{ doc('date_day') }}" + - name: advertiser_id + description: "{{ doc('advertiser_id') }}" + - name: _fivetran_synced + description: "{{ doc('_fivetran_synced') }}" + - name: impression_1 + description: "{{ doc('impression_1') }}" + - name: impression_2 + description: "{{ doc('impression_2') }}" + - name: clickthrough_1 + description: "{{ doc('clickthrough_1') }}" + - name: clickthrough_2 + description: "{{ doc('clickthrough_2') }}" + - name: spend_in_micro_dollar + description: "{{ doc('spend_in_micro_dollar') }}" + + - name: campaign_report + description: source table + identifier: "{{ var('pinterest_campaign_report_identifier', 'campaign_report') }}" + columns: + - name: date + description: "{{ doc('date_day') }}" + - name: campaign_id + description: "{{ doc('campaign_id') }}" + - name: campaign_name + description: Name of the campaign. + - name: campaign_status + description: Status of the campaign. + - name: advertiser_id + description: "{{ doc('advertiser_id') }}" + - name: _fivetran_synced + description: "{{ doc('_fivetran_synced') }}" + - name: impression_1 + description: "{{ doc('impression_1') }}" + - name: impression_2 + description: "{{ doc('impression_2') }}" + - name: clickthrough_1 + description: "{{ doc('clickthrough_1') }}" + - name: clickthrough_2 + description: "{{ doc('clickthrough_2') }}" + - name: spend_in_micro_dollar + description: "{{ doc('spend_in_micro_dollar') }}" + + - name: keyword_history + description: source table + identifier: "{{ var('pinterest_keyword_history_identifier', 'keyword_history') }}" + columns: + - name: id + description: Unique identifier of the keyword. + - name: value + description: The text value that makes upd the keyword. + - name: _fivetran_id + description: The unique identifier of the record within the Fivetran synced table. + - name: _fivetran_synced + description: "{{ doc('_fivetran_synced') }}" + - name: ad_group_id + description: "{{ doc('ad_group_id') }}" + - name: advertiser_id + description: "{{ doc('advertiser_id') }}" + - name: archived + description: Boolean indicating if the keyword is archived. + - name: bid + description: Bid amount set for the keyword. + - name: campaign_id + description: "{{ doc('campaign_id') }}" + - name: match_type + description: Type of match the keyword is tied to. Either Exact or Broad. + - name: parent_type + description: Identifier of what grain the parent type is. Ad group or campaign. + + - name: keyword_report + description: source table + identifier: "{{ var('pinterest_keyword_report_identifier', 'keyword_report') }}" + columns: + - name: date + description: "{{ doc('date_day') }}" + - name: keyword_id + description: Unique identifier of the keyword. + - name: pin_promotion_id + description: "{{ doc('pin_promotion_id') }}" + - name: ad_group_id + description: "{{ doc('ad_group_id') }}" + - name: ad_group_name + description: Name of the ad group. + - name: ad_group_status + description: Status of the ad group. + - name: campaign_id + description: "{{ doc('campaign_id') }}" + - name: advertiser_id + description: "{{ doc('advertiser_id') }}" + - name: _fivetran_synced + description: "{{ doc('_fivetran_synced') }}" + - name: impression_1 + description: "{{ doc('impression_1') }}" + - name: impression_2 + description: "{{ doc('impression_2') }}" + - name: clickthrough_1 + description: "{{ doc('clickthrough_1') }}" + - name: clickthrough_2 + description: "{{ doc('clickthrough_2') }}" + - name: spend_in_micro_dollar + description: "{{ doc('spend_in_micro_dollar') }}" diff --git a/models/stg_pinterest_ads.yml b/models/stg_pinterest_ads.yml index 2aba5b0..8b5c4f9 100644 --- a/models/stg_pinterest_ads.yml +++ b/models/stg_pinterest_ads.yml @@ -3,56 +3,65 @@ version: 2 models: - name: stg_pinterest_ads__ad_group_history description: Each record represents a version of a Pinterest Ad Group. + tests: + - dbt_utils.unique_combination_of_columns: + combination_of_columns: + - ad_group_id + - _fivetran_synced columns: - name: ad_group_id description: Ad group ID. - name: campaign_id description: Parent Campaign ID. - - name: created_timestamp + - name: created_at description: Ad group creation time. - - name: name + - name: ad_group_name description: Ad group name. - - name: status + - name: ad_group_status description: The status of the Ad group. One of "ACTIVE", "ARCHIVED", "PAUSED" - - name: start_timestamp + - name: start_time description: Ad group start time. - - name: end_timestamp + - name: end_time description: Ad group end time. - name: _fivetran_synced - description: The time Fivetran synced a record. - - name: version_id - description: Unique ID for the version of an Ad group. - tests: - - unique - - not_null + description: "{{ doc('_fivetran_synced') }}" + - name: is_most_recent_record + description: "{{ doc('is_most_recent_record') }}" - name: stg_pinterest_ads__campaign_history description: Each record represents a version of a Pinterest Campaign. + tests: + - dbt_utils.unique_combination_of_columns: + combination_of_columns: + - campaign_id + - _fivetran_synced columns: - name: campaign_id description: Campaign ID. - - name: created_timestamp + - name: created_at description: Campaign creation time. - - name: name + - name: campaign_name description: Campaign name. - - name: status + - name: campaign_status description: The status of the Campaign. One of "ACTIVE", "ARCHIVED", "PAUSED" - name: _fivetran_synced - description: The time Fivetran synced a record. - - name: version_id - description: Unique ID for the version of a Campaign. - tests: - - unique - - not_null + description: "{{ doc('_fivetran_synced') }}" + - name: is_most_recent_record + description: "{{ doc('is_most_recent_record') }}" - name: stg_pinterest_ads__pin_promotion_history description: Each record represents a version of a Pinterest Pin promotion. + tests: + - dbt_utils.unique_combination_of_columns: + combination_of_columns: + - _fivetran_synced + - pin_promotion_id columns: - name: pin_promotion_id description: Pin promotion ID. - name: ad_group_id description: Pin promotion ad group ID. - - name: created_timestamp + - name: created_at description: Pin creation time. - name: destination_url description: Pin destination URL. @@ -68,12 +77,9 @@ models: One of "APP", "APP_VIDEO", "BOARD", "CAROUSEL", "CINEMATIC", "COMMERCE", "MAX_VIDEO", "NATIVE_VIDEO", "REGULAR", "SEARCH_PROMINENCE", "SEARCH_PROMINENCE_CAROUSEL", "SHOPPING", "SHOP_THE_PIN", "THIRD_PARTY", or "VIDEO". - name: _fivetran_synced - description: The time Fivetran synced a record. - - name: version_id - description: Unique ID for the version of a Pin promotion. - tests: - - unique - - not_null + description: "{{ doc('_fivetran_synced') }}" + - name: is_most_recent_record + description: "{{ doc('is_most_recent_record') }}" - name: base_url description: The base URL of the ad, extracted from the `destination_url`. - name: url_host @@ -93,27 +99,205 @@ models: - name: stg_pinterest_ads__pin_promotion_report description: Each record represents the daily performance of a Pinterest Pin promotion. + tests: + - dbt_utils.unique_combination_of_columns: + combination_of_columns: + - date_day + - pin_promotion_id columns: - name: date_day - description: The performance date of the record. + description: "{{ doc('date_day') }}" + - name: pin_promotion_id + description: "{{ doc('pin_promotion_id') }}" + - name: ad_group_id + description: "{{ doc('ad_group_id') }}" + - name: campaign_id + description: "{{ doc('campaign_id') }}" + - name: advertiser_id + description: "{{ doc('advertiser_id') }}" + - name: _fivetran_synced + description: "{{ doc('_fivetran_synced') }}" + - name: impressions + description: "{{ doc('impressions') }}" + - name: clicks + description: "{{ doc('clicks') }}" + - name: spend + description: "{{ doc('spend') }}" + + - name: stg_pinterest_ads__ad_group_report + description: Each record represents the daily performance of a Pinterest Ad Groups. + tests: + - dbt_utils.unique_combination_of_columns: + combination_of_columns: + - date_day + - ad_group_id + columns: + - name: date_day + description: "{{ doc('date_day') }}" + - name: ad_group_id + description: "{{ doc('ad_group_id') }}" + - name: ad_group_name + description: Name of the ad group. + - name: ad_group_status + description: Status of the ad group. + - name: campaign_id + description: "{{ doc('campaign_id') }}" + - name: advertiser_id + description: "{{ doc('advertiser_id') }}" + - name: _fivetran_synced + description: "{{ doc('_fivetran_synced') }}" + - name: impressions + description: "{{ doc('impressions') }}" + - name: clicks + description: "{{ doc('clicks') }}" + - name: spend + description: "{{ doc('spend') }}" + + - name: stg_pinterest_ads__advertiser_history + description: Each record represents a version of an advertiser. + tests: + - dbt_utils.unique_combination_of_columns: + combination_of_columns: + - updated_at + - advertiser_id + columns: + - name: advertiser_id + description: "{{ doc('advertiser_id') }}" + - name: advertiser_name + description: Name of the advertiser. + - name: advertiser_status + description: Status of the advertiser. + - name: billing_profile_status + description: Status of the billing profile. + - name: billing_type + description: The billing type of the advertiser. Will typically be CREDIT_CARD or INVOICE. + - name: country + description: The country code where the advertiser is located. + - name: created_at + description: "{{ doc('created_at') }}" + - name: currency + description: The currency code which the a + - name: merchant_id + description: Unique ID of the merchant associated with the advertiser. + - name: owner_user_id + description: Unique identifier of the owner user. + - name: updated_at + description: "{{ doc('updated_at') }}" + - name: _fivetran_synced + description: "{{ doc('_fivetran_synced') }}" + - name: is_most_recent_record + description: "{{ doc('is_most_recent_record') }}" + + - name: stg_pinterest_ads__advertiser_report + description: Each record represents the daily performance of an Advertiser. + tests: + - dbt_utils.unique_combination_of_columns: + combination_of_columns: + - date_day + - advertiser_id + columns: + - name: date_day + description: "{{ doc('date_day') }}" + - name: advertiser_id + description: "{{ doc('advertiser_id') }}" + - name: _fivetran_synced + description: "{{ doc('_fivetran_synced') }}" + - name: impressions + description: "{{ doc('impressions') }}" + - name: clicks + description: "{{ doc('clicks') }}" + - name: spend + description: "{{ doc('spend') }}" + + - name: stg_pinterest_ads__campaign_report + description: Each record represents the daily performance of Campaigns. + tests: + - dbt_utils.unique_combination_of_columns: + combination_of_columns: + - date_day + - campaign_id + columns: + - name: date_day + description: "{{ doc('date_day') }}" + - name: campaign_id + description: "{{ doc('campaign_id') }}" + - name: campaign_name + description: Name of the campaign. + - name: campaign_status + description: Status of the campaign. + - name: advertiser_id + description: "{{ doc('advertiser_id') }}" + - name: _fivetran_synced + description: "{{ doc('_fivetran_synced') }}" + - name: impressions + description: "{{ doc('impressions') }}" + - name: clicks + description: "{{ doc('clicks') }}" + - name: spend + description: "{{ doc('spend') }}" + + - name: stg_pinterest_ads__keyword_history + description: Each record represents the daily performance of a Keyword. + tests: + - dbt_utils.unique_combination_of_columns: + combination_of_columns: + - keyword_id + - _fivetran_synced + columns: + - name: keyword_id + description: Unique identifier of the keyword. + - name: keyword_value + description: The text value that makes upd the keyword. + - name: _fivetran_id + description: The unique identifier of the record within the Fivetran synced table. + - name: _fivetran_synced + description: "{{ doc('_fivetran_synced') }}" + - name: ad_group_id + description: "{{ doc('ad_group_id') }}" + - name: advertiser_id + description: "{{ doc('advertiser_id') }}" + - name: archived + description: Boolean indicating if the keyword is archived. + - name: bid + description: Bid amount set for the keyword. + - name: campaign_id + description: "{{ doc('campaign_id') }}" + - name: match_type + description: Type of match the keyword is tied to. Either Exact or Broad. + - name: parent_type + description: Identifier of what grain the parent type is. Ad group or campaign. + - name: is_most_recent_record + description: "{{ doc('is_most_recent_record') }}" + + - name: stg_pinterest_ads__keyword_report + description: Each record represents the daily performance of Keywords. + tests: + - dbt_utils.unique_combination_of_columns: + combination_of_columns: + - date_day + - keyword_id + columns: + - name: date_day + description: "{{ doc('date_day') }}" + - name: keyword_id + description: Unique identifier of the keyword. - name: pin_promotion_id - description: The ID of the related Pin promotion. + description: "{{ doc('pin_promotion_id') }}" - name: ad_group_id - description: The ID of the related Ad group. + description: "{{ doc('ad_group_id') }}" + - name: ad_group_name + description: Name of the ad group. + - name: ad_group_status + description: Status of the ad group. - name: campaign_id - description: The ID of the related Campaign. + description: "{{ doc('campaign_id') }}" - name: advertiser_id - description: The ID of the related Advertiser. + description: "{{ doc('advertiser_id') }}" - name: _fivetran_synced - description: The time Fivetran synced a record. + description: "{{ doc('_fivetran_synced') }}" - name: impressions - description: The number of impressions that occurred on the day of the record. + description: "{{ doc('impressions') }}" - name: clicks - description: The number of clicks that occurred on the day of the record. + description: "{{ doc('clicks') }}" - name: spend - description: The amount of spend that occurred on the day of the record. - - name: report_id - description: The unique ID of each report record. - tests: - - unique - - not_null \ No newline at end of file + description: "{{ doc('spend') }}" diff --git a/models/stg_pinterest_ads__ad_group_history.sql b/models/stg_pinterest_ads__ad_group_history.sql index 19152f5..35c00c3 100644 --- a/models/stg_pinterest_ads__ad_group_history.sql +++ b/models/stg_pinterest_ads__ad_group_history.sql @@ -2,8 +2,9 @@ with base as ( select * from {{ ref('stg_pinterest_ads__ad_group_history_tmp') }} +), -), fields as ( +fields as ( select {{ @@ -13,15 +14,28 @@ with base as ( ) }} from base +), -), surrogate_key as ( +final as ( select - *, - {{ dbt_utils.surrogate_key(['ad_group_id','_fivetran_synced'] )}} as version_id + id as ad_group_id, + name as ad_group_name, + status as ad_group_status, + _fivetran_synced, + campaign_id, + created_time as created_at, + end_time, + start_time from fields +), +most_recent as ( + select + *, + row_number() over (partition by ad_group_id order by _fivetran_synced desc) = 1 as is_most_recent_record + from final ) select * -from surrogate_key +from most_recent diff --git a/models/stg_pinterest_ads__ad_group_report.sql b/models/stg_pinterest_ads__ad_group_report.sql new file mode 100644 index 0000000..a816e34 --- /dev/null +++ b/models/stg_pinterest_ads__ad_group_report.sql @@ -0,0 +1,42 @@ + +with base as ( + + select * + from {{ ref('stg_pinterest_ads__ad_group_report_tmp') }} +), + +fields as ( + + select + {{ + fivetran_utils.fill_staging_columns( + source_columns=adapter.get_columns_in_relation(ref('stg_pinterest_ads__ad_group_report_tmp')), + staging_columns=get_ad_group_report_columns() + ) + }} + from base +), + +final as ( + + select + date as date_day, + ad_group_id, + ad_group_name, + ad_group_status, + campaign_id, + advertiser_id, + _fivetran_synced, + coalesce(impression_1,0) + coalesce(impression_2,0) as impressions, + coalesce(clickthrough_1,0) + coalesce(clickthrough_2,0) as clicks, + spend_in_micro_dollar / 1000000.0 as spend + + {% for metric in var('pinterest__ad_group_report_passthrough_metrics',[]) %} + , {{ metric }} + {% endfor %} + + from fields +) + +select * +from final diff --git a/models/stg_pinterest_ads__advertiser_history.sql b/models/stg_pinterest_ads__advertiser_history.sql new file mode 100644 index 0000000..d9f4120 --- /dev/null +++ b/models/stg_pinterest_ads__advertiser_history.sql @@ -0,0 +1,47 @@ + +with base as ( + + select * + from {{ ref('stg_pinterest_ads__advertiser_history_tmp') }} +), + +fields as ( + + select + {{ + fivetran_utils.fill_staging_columns( + source_columns=adapter.get_columns_in_relation(ref('stg_pinterest_ads__advertiser_history_tmp')), + staging_columns=get_advertiser_history_columns() + ) + }} + from base +), + +final as ( + + select + id as advertiser_id, + name as advertiser_name, + status as advertiser_status, + billing_profile_status, + billing_type, + country, + created_time as created_at, + currency, + merchant_id, + owner_user_id, + updated_time as updated_at, + _fivetran_synced + from fields +), + +most_recent as ( + select + *, + row_number() over (partition by advertiser_id order by updated_at desc) = 1 as is_most_recent_record + from final + +) + +select * +from most_recent diff --git a/models/stg_pinterest_ads__advertiser_report.sql b/models/stg_pinterest_ads__advertiser_report.sql new file mode 100644 index 0000000..0fdbd7a --- /dev/null +++ b/models/stg_pinterest_ads__advertiser_report.sql @@ -0,0 +1,38 @@ + +with base as ( + + select * + from {{ ref('stg_pinterest_ads__advertiser_report_tmp') }} +), + +fields as ( + + select + {{ + fivetran_utils.fill_staging_columns( + source_columns=adapter.get_columns_in_relation(ref('stg_pinterest_ads__advertiser_report_tmp')), + staging_columns=get_advertiser_report_columns() + ) + }} + from base +), + +final as ( + + select + date as date_day, + advertiser_id, + _fivetran_synced, + coalesce(impression_1,0) + coalesce(impression_2,0) as impressions, + coalesce(clickthrough_1,0) + coalesce(clickthrough_2,0) as clicks, + spend_in_micro_dollar / 1000000.0 as spend + + {% for metric in var('pinterest__advertiser_report_passthrough_metrics',[]) %} + , {{ metric }} + {% endfor %} + + from fields +) + +select * +from final diff --git a/models/stg_pinterest_ads__campaign_history.sql b/models/stg_pinterest_ads__campaign_history.sql index 2a5b55f..e9e10fa 100644 --- a/models/stg_pinterest_ads__campaign_history.sql +++ b/models/stg_pinterest_ads__campaign_history.sql @@ -2,8 +2,9 @@ with base as ( select * from {{ ref('stg_pinterest_ads__campaign_history_tmp') }} +), -), fields as ( +fields as ( select {{ @@ -13,15 +14,25 @@ with base as ( ) }} from base +), -), surrogate_key as ( +final as ( select - *, - {{ dbt_utils.surrogate_key(['campaign_id','_fivetran_synced'] )}} as version_id + id as campaign_id, + name as campaign_name, + status as campaign_status, + _fivetran_synced, + created_time as created_at from fields +), +most_recent as ( + select + *, + row_number() over (partition by campaign_id order by _fivetran_synced desc) = 1 as is_most_recent_record + from final ) select * -from surrogate_key +from most_recent diff --git a/models/stg_pinterest_ads__campaign_report.sql b/models/stg_pinterest_ads__campaign_report.sql new file mode 100644 index 0000000..1ee5397 --- /dev/null +++ b/models/stg_pinterest_ads__campaign_report.sql @@ -0,0 +1,41 @@ + +with base as ( + + select * + from {{ ref('stg_pinterest_ads__campaign_report_tmp') }} +), + +fields as ( + + select + {{ + fivetran_utils.fill_staging_columns( + source_columns=adapter.get_columns_in_relation(ref('stg_pinterest_ads__campaign_report_tmp')), + staging_columns=get_campaign_report_columns() + ) + }} + from base +), + +final as ( + + select + date as date_day, + campaign_id, + campaign_name, + campaign_status, + advertiser_id, + _fivetran_synced, + coalesce(impression_1,0) + coalesce(impression_2,0) as impressions, + coalesce(clickthrough_1,0) + coalesce(clickthrough_2,0) as clicks, + spend_in_micro_dollar / 1000000.0 as spend + + {% for metric in var('pinterest__campaign_report_passthrough_metrics',[]) %} + , {{ metric }} + {% endfor %} + + from fields +) + +select * +from final diff --git a/models/stg_pinterest_ads__keyword_history.sql b/models/stg_pinterest_ads__keyword_history.sql new file mode 100644 index 0000000..3c1f08f --- /dev/null +++ b/models/stg_pinterest_ads__keyword_history.sql @@ -0,0 +1,45 @@ + +with base as ( + + select * + from {{ ref('stg_pinterest_ads__keyword_history_tmp') }} +), + +fields as ( + + select + {{ + fivetran_utils.fill_staging_columns( + source_columns=adapter.get_columns_in_relation(ref('stg_pinterest_ads__keyword_history_tmp')), + staging_columns=get_keyword_history_columns() + ) + }} + from base +), + +final as ( + + select + id as keyword_id, + value as keyword_value, + _fivetran_id, + _fivetran_synced, + ad_group_id, + advertiser_id, + archived, + bid, + campaign_id, + match_type, + parent_type + from fields +), + +most_recent as ( + select + *, + row_number() over (partition by keyword_id order by _fivetran_synced desc) = 1 as is_most_recent_record + from final +) + +select * +from most_recent diff --git a/models/stg_pinterest_ads__keyword_report.sql b/models/stg_pinterest_ads__keyword_report.sql new file mode 100644 index 0000000..b4ab3ee --- /dev/null +++ b/models/stg_pinterest_ads__keyword_report.sql @@ -0,0 +1,44 @@ + +with base as ( + + select * + from {{ ref('stg_pinterest_ads__keyword_report_tmp') }} +), + +fields as ( + + select + {{ + fivetran_utils.fill_staging_columns( + source_columns=adapter.get_columns_in_relation(ref('stg_pinterest_ads__keyword_report_tmp')), + staging_columns=get_keyword_report_columns() + ) + }} + from base +), + +final as ( + + select + date as date_day, + keyword_id, + pin_promotion_id, + ad_group_id, + ad_group_name, + ad_group_status, + campaign_id, + advertiser_id, + _fivetran_synced, + coalesce(impression_1,0) + coalesce(impression_2,0) as impressions, + coalesce(clickthrough_1,0) + coalesce(clickthrough_2,0) as clicks, + spend_in_micro_dollar / 1000000.0 as spend + + {% for metric in var('pinterest__keyword_report_passthrough_metrics',[]) %} + , {{ metric }} + {% endfor %} + + from fields +) + +select * +from final diff --git a/models/stg_pinterest_ads__pin_promotion_history.sql b/models/stg_pinterest_ads__pin_promotion_history.sql index 9dc5fc3..efd3d9e 100644 --- a/models/stg_pinterest_ads__pin_promotion_history.sql +++ b/models/stg_pinterest_ads__pin_promotion_history.sql @@ -2,8 +2,9 @@ with base as ( select * from {{ ref('stg_pinterest_ads__pin_promotion_history_tmp') }} +), -), macro as ( +fields as ( select @@ -13,15 +14,15 @@ with base as ( staging_columns=get_pin_promotion_history_columns() ) }} - from base +), -), fields as ( +final as ( select id as pin_promotion_id, ad_group_id, - created_time as created_timestamp, + created_time as created_at, destination_url, {{ dbt_utils.split_part('destination_url', "'?'", 1) }} as base_url, {{ dbt_utils.get_url_host('destination_url') }} as url_host, @@ -36,15 +37,15 @@ with base as ( status, creative_type, _fivetran_synced - from macro + from fields +), -), surrogate_key as ( +surrogate_key as ( select *, - {{ dbt_utils.surrogate_key(['pin_promotion_id','_fivetran_synced'] )}} as version_id - from fields - + row_number() over (partition by pin_promotion_id order by _fivetran_synced desc) = 1 as is_most_recent_record + from final ) select * diff --git a/models/stg_pinterest_ads__pin_promotion_report.sql b/models/stg_pinterest_ads__pin_promotion_report.sql index 77dc107..dc9fe25 100644 --- a/models/stg_pinterest_ads__pin_promotion_report.sql +++ b/models/stg_pinterest_ads__pin_promotion_report.sql @@ -2,8 +2,9 @@ with base as ( select * from {{ ref('stg_pinterest_ads__pin_promotion_report_tmp') }} +), -), macro as ( +fields as ( select {{ @@ -13,8 +14,9 @@ with base as ( ) }} from base +), -), fields as ( +final as ( select date as date_day, @@ -26,20 +28,13 @@ with base as ( coalesce(impression_1,0) + coalesce(impression_2,0) as impressions, coalesce(clickthrough_1,0) + coalesce(clickthrough_2,0) as clicks, spend_in_micro_dollar / 1000000.0 as spend - {% for metric in var('pin_promotion_report_pass_through_metric') %} + + {% for metric in var('pinterest__pin_promotion_report_passthrough_metrics',[]) %} , {{ metric }} {% endfor %} - from base - -), surrogate_key as ( - - select - *, - {{ dbt_utils.surrogate_key(['date_day','pin_promotion_id']) }} as report_id from fields - ) select * -from surrogate_key +from final diff --git a/models/tmp/stg_pinterest_ads__ad_group_report_tmp.sql b/models/tmp/stg_pinterest_ads__ad_group_report_tmp.sql new file mode 100644 index 0000000..4ab90a1 --- /dev/null +++ b/models/tmp/stg_pinterest_ads__ad_group_report_tmp.sql @@ -0,0 +1,2 @@ +select * +from {{ var('ad_group_report') }} diff --git a/models/tmp/stg_pinterest_ads__advertiser_history_tmp.sql b/models/tmp/stg_pinterest_ads__advertiser_history_tmp.sql new file mode 100644 index 0000000..50e7955 --- /dev/null +++ b/models/tmp/stg_pinterest_ads__advertiser_history_tmp.sql @@ -0,0 +1,2 @@ +select * +from {{ var('advertiser_history') }} diff --git a/models/tmp/stg_pinterest_ads__advertiser_report_tmp.sql b/models/tmp/stg_pinterest_ads__advertiser_report_tmp.sql new file mode 100644 index 0000000..dfe145d --- /dev/null +++ b/models/tmp/stg_pinterest_ads__advertiser_report_tmp.sql @@ -0,0 +1,2 @@ +select * +from {{ var('advertiser_report') }} diff --git a/models/tmp/stg_pinterest_ads__campaign_report_tmp.sql b/models/tmp/stg_pinterest_ads__campaign_report_tmp.sql new file mode 100644 index 0000000..6d2dda3 --- /dev/null +++ b/models/tmp/stg_pinterest_ads__campaign_report_tmp.sql @@ -0,0 +1,2 @@ +select * +from {{ var('campaign_report') }} diff --git a/models/tmp/stg_pinterest_ads__keyword_history_tmp.sql b/models/tmp/stg_pinterest_ads__keyword_history_tmp.sql new file mode 100644 index 0000000..8084eef --- /dev/null +++ b/models/tmp/stg_pinterest_ads__keyword_history_tmp.sql @@ -0,0 +1,2 @@ +select * +from {{ var('keyword_history') }} diff --git a/models/tmp/stg_pinterest_ads__keyword_report_tmp.sql b/models/tmp/stg_pinterest_ads__keyword_report_tmp.sql new file mode 100644 index 0000000..a8aa2d4 --- /dev/null +++ b/models/tmp/stg_pinterest_ads__keyword_report_tmp.sql @@ -0,0 +1,2 @@ +select * +from {{ var('keyword_report') }} From 32d0ad1efe28d021ba36d96f6126140c992c0f6f Mon Sep 17 00:00:00 2001 From: fivetran-joemarkiewicz Date: Thu, 30 Jun 2022 14:44:07 -0500 Subject: [PATCH 02/15] PR link for CHANGELOG --- CHANGELOG.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b886629..8e2deb8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,9 +1,9 @@ # dbt_pinterest_source v0.6.0 ## 🚨 Breaking Changes 🚨 -The `pin_promotion_report_pass_through_metric` variable has been renamed to `pinterest__pin_promotion_report_passthrough_metrics`. +The `pin_promotion_report_pass_through_metric` variable has been renamed to `pinterest__pin_promotion_report_passthrough_metrics`. ([#18](https://github.com/fivetran/dbt_pinterest_source/pull/18)) ## 🎉 Feature Enhancements 🎉 -PR #TBD includes the following changes: +PR [#18](https://github.com/fivetran/dbt_pinterest_source/pull/18) includes the following changes: - Addition of the following staging models which pull from the source counterparts. The inclusion of the additional `_report` source tables is to generate a more accurate representation of the Pinterest Ads data. For example, not all Ad types are included within the `pin_promotion_report` table. Therefore, the addition of the further grain reports will allow for more flexibility and accurate Pinterest Ad reporting. - `stg_pinterest_ads__ad_group_report` - `stg_pinterest_ads__advertiser_report` @@ -23,7 +23,7 @@ PR #TBD includes the following changes: - Included grain uniqueness tests for each staging table. ## Contributors -- [@bnealdefero](https://github.com/bnealdefero) ([]()) +- [@bnealdefero](https://github.com/bnealdefero) ([#18](https://github.com/fivetran/dbt_pinterest_source/pull/18)) # dbt_pinterest_source v0.5.0 🎉 dbt v1.0.0 Compatibility 🎉 From 3b3fcbd471de4e4d030f90cc07a12ee53ef07915 Mon Sep 17 00:00:00 2001 From: fivetran-joemarkiewicz Date: Thu, 30 Jun 2022 14:58:55 -0500 Subject: [PATCH 03/15] adding passthrough metrics to readme and project.yml --- README.md | 6 +++++- dbt_project.yml | 7 ++++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 6a693cf..0730551 100644 --- a/README.md +++ b/README.md @@ -52,11 +52,15 @@ vars: ## (Optional) Step 4: Additional configurations ### Passing Through Additional Metrics -By default, this package will select `clicks`, `impressions`, and `cost` from the `pin_promotion_report` table to report into the staging model. If you would like to pass through additional metrics to the staging models, add the following configuration to your `dbt_project.yml` file: +By default, this package will select `clicks`, `impressions`, and `cost` from `_report` source tables used by the respective staging models. If you would like to pass through additional metrics to the staging models, add the following configuration to your `dbt_project.yml` file: ```yml vars: pin_promotion_report_pass_through_metric: ['the', 'list', 'of', 'metric', 'columns', 'to', 'include'] # from pinterest.pin_promotion_report + pinterest__ad_group_report_passthrough_metrics: ['the', 'list', 'of', 'metric', 'columns', 'to', 'include'] # from pinterest.ad_group_report + pinterest__advertiser_report_passthrough_metrics: ['the', 'list', 'of', 'metric', 'columns', 'to', 'include'] # from pinterest.advertiser_report + pinterest__campaign_report_passthrough_metrics: ['the', 'list', 'of', 'metric', 'columns', 'to', 'include'] # from pinterest.campaign_report + pinterest__keyword_report_passthrough_metrics: ['the', 'list', 'of', 'metric', 'columns', 'to', 'include'] # from pinterest.keyword ``` ### Change the build schema By default, this package builds the Pinterest Ads staging models within a schema titled (`` + `_pinterest_source`) in your destination. If this is not where you would like your pinterest staging data to be written to, add the following configuration to your root `dbt_project.yml` file: diff --git a/dbt_project.yml b/dbt_project.yml index bc3babb..aad7d58 100644 --- a/dbt_project.yml +++ b/dbt_project.yml @@ -14,7 +14,12 @@ vars: keyword_history: "{{ source('pinterest_ads','keyword_history') }}" keyword_report: "{{ source('pinterest_ads','keyword_report') }}" - pin_promotion_report_pass_through_metric: [] + pinterest__pin_promotion_report_passthrough_metrics: [] + pinterest__ad_group_report_passthrough_metrics: [] + pinterest__advertiser_report_passthrough_metrics: [] + pinterest__campaign_report_passthrough_metrics: [] + pinterest__keyword_report_passthrough_metrics: [] + models: pinterest_source: +schema: pinterest_source From d4194d1f9ffbed062dcc6ca8c494b70f74bde5db Mon Sep 17 00:00:00 2001 From: fivetran-joemarkiewicz Date: Thu, 30 Jun 2022 17:38:08 -0500 Subject: [PATCH 04/15] additional fields and documentation updates --- docs/catalog.json | 2 +- docs/manifest.json | 2 +- docs/run_results.json | 2 +- .../seeds/campaign_history_data.csv | 4 +- macros/get_campaign_history_columns.sql | 1 + models/stg_pinterest_ads.yml | 40 +++++++++++++++++-- .../stg_pinterest_ads__advertiser_history.sql | 2 +- .../stg_pinterest_ads__campaign_history.sql | 1 + ...g_pinterest_ads__pin_promotion_history.sql | 4 +- 9 files changed, 46 insertions(+), 12 deletions(-) diff --git a/docs/catalog.json b/docs/catalog.json index 8734f68..73288e2 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-06-30T19:28:50.572312Z", "invocation_id": "95030cc3-b499-42bd-89f0-d11773ebc3b0", "env": {}}, "nodes": {"seed.pinterest_source_integration_tests.ad_group_history_data": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "ad_group_history_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "campaign_id": {"type": "bigint", "index": 2, "name": "campaign_id", "comment": null}, "created_time": {"type": "text", "index": 3, "name": "created_time", "comment": null}, "name": {"type": "text", "index": 4, "name": "name", "comment": null}, "status": {"type": "text", "index": 5, "name": "status", "comment": null}, "start_time": {"type": "text", "index": 6, "name": "start_time", "comment": null}, "end_time": {"type": "integer", "index": 7, "name": "end_time", "comment": null}, "_fivetran_synced": {"type": "text", "index": 8, "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.pinterest_source_integration_tests.ad_group_history_data"}, "seed.pinterest_source_integration_tests.ad_group_report_data": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "ad_group_report_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"ad_group_id": {"type": "bigint", "index": 1, "name": "ad_group_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 2, "name": "advertiser_id", "comment": null}, "date": {"type": "timestamp without time zone", "index": 3, "name": "date", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 4, "name": "_fivetran_synced", "comment": null}, "ad_group_name": {"type": "text", "index": 5, "name": "ad_group_name", "comment": null}, "ad_group_status": {"type": "text", "index": 6, "name": "ad_group_status", "comment": null}, "campaign_daily_spend_cap": {"type": "integer", "index": 7, "name": "campaign_daily_spend_cap", "comment": null}, "campaign_id": {"type": "bigint", "index": 8, "name": "campaign_id", "comment": null}, "campaign_lifetime_spend_cap": {"type": "integer", "index": 9, "name": "campaign_lifetime_spend_cap", "comment": null}, "campaign_name": {"type": "text", "index": 10, "name": "campaign_name", "comment": null}, "campaign_status": {"type": "text", "index": 11, "name": "campaign_status", "comment": null}, "clickthrough_1": {"type": "integer", "index": 12, "name": "clickthrough_1", "comment": null}, "clickthrough_1_gross": {"type": "integer", "index": 13, "name": "clickthrough_1_gross", "comment": null}, "cpc_in_micro_dollar": {"type": "double precision", "index": 14, "name": "cpc_in_micro_dollar", "comment": null}, "cpm_in_micro_dollar": {"type": "double precision", "index": 15, "name": "cpm_in_micro_dollar", "comment": null}, "ctr": {"type": "double precision", "index": 16, "name": "ctr", "comment": null}, "ecpc_in_micro_dollar": {"type": "double precision", "index": 17, "name": "ecpc_in_micro_dollar", "comment": null}, "ecpm_in_micro_dollar": {"type": "double precision", "index": 18, "name": "ecpm_in_micro_dollar", "comment": null}, "ectr": {"type": "double precision", "index": 19, "name": "ectr", "comment": null}, "engagement_1": {"type": "integer", "index": 20, "name": "engagement_1", "comment": null}, "impression_1": {"type": "integer", "index": 21, "name": "impression_1", "comment": null}, "impression_1_gross": {"type": "integer", "index": 22, "name": "impression_1_gross", "comment": null}, "outbound_click_1": {"type": "integer", "index": 23, "name": "outbound_click_1", "comment": null}, "paid_impression": {"type": "integer", "index": 24, "name": "paid_impression", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 25, "name": "spend_in_micro_dollar", "comment": null}, "total_engagement": {"type": "integer", "index": 26, "name": "total_engagement", "comment": null}, "total_impression_frequency": {"type": "double precision", "index": 27, "name": "total_impression_frequency", "comment": null}, "total_impression_user": {"type": "integer", "index": 28, "name": "total_impression_user", "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.pinterest_source_integration_tests.ad_group_report_data"}, "seed.pinterest_source_integration_tests.advertiser_history_data": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "advertiser_history_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "updated_time": {"type": "timestamp without time zone", "index": 2, "name": "updated_time", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "billing_profile_status": {"type": "text", "index": 4, "name": "billing_profile_status", "comment": null}, "billing_type": {"type": "text", "index": 5, "name": "billing_type", "comment": null}, "country": {"type": "text", "index": 6, "name": "country", "comment": null}, "created_time": {"type": "timestamp without time zone", "index": 7, "name": "created_time", "comment": null}, "currency": {"type": "text", "index": 8, "name": "currency", "comment": null}, "merchant_id": {"type": "integer", "index": 9, "name": "merchant_id", "comment": null}, "name": {"type": "text", "index": 10, "name": "name", "comment": null}, "owner_user_id": {"type": "integer", "index": 11, "name": "owner_user_id", "comment": null}, "status": {"type": "text", "index": 12, "name": "status", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "seed.pinterest_source_integration_tests.advertiser_history_data"}, "seed.pinterest_source_integration_tests.advertiser_report_data": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "advertiser_report_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"advertiser_id": {"type": "bigint", "index": 1, "name": "advertiser_id", "comment": null}, "date": {"type": "timestamp without time zone", "index": 2, "name": "date", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "clickthrough_1": {"type": "integer", "index": 4, "name": "clickthrough_1", "comment": null}, "clickthrough_1_gross": {"type": "integer", "index": 5, "name": "clickthrough_1_gross", "comment": null}, "cpc_in_micro_dollar": {"type": "double precision", "index": 6, "name": "cpc_in_micro_dollar", "comment": null}, "cpm_in_micro_dollar": {"type": "double precision", "index": 7, "name": "cpm_in_micro_dollar", "comment": null}, "ctr": {"type": "double precision", "index": 8, "name": "ctr", "comment": null}, "ecpc_in_micro_dollar": {"type": "double precision", "index": 9, "name": "ecpc_in_micro_dollar", "comment": null}, "ecpm_in_micro_dollar": {"type": "double precision", "index": 10, "name": "ecpm_in_micro_dollar", "comment": null}, "ectr": {"type": "double precision", "index": 11, "name": "ectr", "comment": null}, "engagement_1": {"type": "integer", "index": 12, "name": "engagement_1", "comment": null}, "impression_1": {"type": "integer", "index": 13, "name": "impression_1", "comment": null}, "impression_1_gross": {"type": "integer", "index": 14, "name": "impression_1_gross", "comment": null}, "outbound_click_1": {"type": "integer", "index": 15, "name": "outbound_click_1", "comment": null}, "paid_impression": {"type": "integer", "index": 16, "name": "paid_impression", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 17, "name": "spend_in_micro_dollar", "comment": null}, "total_engagement": {"type": "integer", "index": 18, "name": "total_engagement", "comment": null}, "total_impression_frequency": {"type": "double precision", "index": 19, "name": "total_impression_frequency", "comment": null}, "total_impression_user": {"type": "integer", "index": 20, "name": "total_impression_user", "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.pinterest_source_integration_tests.advertiser_report_data"}, "seed.pinterest_source_integration_tests.campaign_history_data": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "campaign_history_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "created_time": {"type": "text", "index": 2, "name": "created_time", "comment": null}, "name": {"type": "text", "index": 3, "name": "name", "comment": null}, "status": {"type": "text", "index": 4, "name": "status", "comment": null}, "_fivetran_synced": {"type": "text", "index": 5, "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.pinterest_source_integration_tests.campaign_history_data"}, "seed.pinterest_source_integration_tests.campaign_report_data": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "campaign_report_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"advertiser_id": {"type": "bigint", "index": 1, "name": "advertiser_id", "comment": null}, "campaign_id": {"type": "bigint", "index": 2, "name": "campaign_id", "comment": null}, "date": {"type": "timestamp without time zone", "index": 3, "name": "date", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 4, "name": "_fivetran_synced", "comment": null}, "campaign_daily_spend_cap": {"type": "integer", "index": 5, "name": "campaign_daily_spend_cap", "comment": null}, "campaign_lifetime_spend_cap": {"type": "integer", "index": 6, "name": "campaign_lifetime_spend_cap", "comment": null}, "campaign_name": {"type": "text", "index": 7, "name": "campaign_name", "comment": null}, "campaign_status": {"type": "text", "index": 8, "name": "campaign_status", "comment": null}, "clickthrough_1": {"type": "integer", "index": 9, "name": "clickthrough_1", "comment": null}, "clickthrough_1_gross": {"type": "integer", "index": 10, "name": "clickthrough_1_gross", "comment": null}, "cpc_in_micro_dollar": {"type": "double precision", "index": 11, "name": "cpc_in_micro_dollar", "comment": null}, "cpm_in_micro_dollar": {"type": "double precision", "index": 12, "name": "cpm_in_micro_dollar", "comment": null}, "ctr": {"type": "double precision", "index": 13, "name": "ctr", "comment": null}, "ecpc_in_micro_dollar": {"type": "double precision", "index": 14, "name": "ecpc_in_micro_dollar", "comment": null}, "ecpm_in_micro_dollar": {"type": "double precision", "index": 15, "name": "ecpm_in_micro_dollar", "comment": null}, "ectr": {"type": "double precision", "index": 16, "name": "ectr", "comment": null}, "engagement_1": {"type": "integer", "index": 17, "name": "engagement_1", "comment": null}, "impression_1": {"type": "integer", "index": 18, "name": "impression_1", "comment": null}, "impression_1_gross": {"type": "integer", "index": 19, "name": "impression_1_gross", "comment": null}, "outbound_click_1": {"type": "integer", "index": 20, "name": "outbound_click_1", "comment": null}, "paid_impression": {"type": "integer", "index": 21, "name": "paid_impression", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 22, "name": "spend_in_micro_dollar", "comment": null}, "total_engagement": {"type": "integer", "index": 23, "name": "total_engagement", "comment": null}, "total_impression_frequency": {"type": "double precision", "index": 24, "name": "total_impression_frequency", "comment": null}, "total_impression_user": {"type": "integer", "index": 25, "name": "total_impression_user", "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.pinterest_source_integration_tests.campaign_report_data"}, "seed.pinterest_source_integration_tests.keyword_history_data": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "keyword_history_data", "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}, "ad_group_id": {"type": "bigint", "index": 3, "name": "ad_group_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 4, "name": "advertiser_id", "comment": null}, "archived": {"type": "boolean", "index": 5, "name": "archived", "comment": null}, "bid": {"type": "integer", "index": 6, "name": "bid", "comment": null}, "campaign_id": {"type": "bigint", "index": 7, "name": "campaign_id", "comment": null}, "id": {"type": "bigint", "index": 8, "name": "id", "comment": null}, "match_type": {"type": "text", "index": 9, "name": "match_type", "comment": null}, "parent_type": {"type": "text", "index": 10, "name": "parent_type", "comment": null}, "value": {"type": "text", "index": 11, "name": "value", "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.pinterest_source_integration_tests.keyword_history_data"}, "seed.pinterest_source_integration_tests.keyword_report_data": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "keyword_report_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"ad_group_id": {"type": "bigint", "index": 1, "name": "ad_group_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 2, "name": "advertiser_id", "comment": null}, "campaign_id": {"type": "bigint", "index": 3, "name": "campaign_id", "comment": null}, "date": {"type": "timestamp without time zone", "index": 4, "name": "date", "comment": null}, "keyword_id": {"type": "bigint", "index": 5, "name": "keyword_id", "comment": null}, "pin_id": {"type": "bigint", "index": 6, "name": "pin_id", "comment": null}, "pin_promotion_id": {"type": "bigint", "index": 7, "name": "pin_promotion_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 8, "name": "_fivetran_synced", "comment": null}, "ad_group_name": {"type": "text", "index": 9, "name": "ad_group_name", "comment": null}, "ad_group_status": {"type": "text", "index": 10, "name": "ad_group_status", "comment": null}, "campaign_daily_spend_cap": {"type": "integer", "index": 11, "name": "campaign_daily_spend_cap", "comment": null}, "campaign_lifetime_spend_cap": {"type": "integer", "index": 12, "name": "campaign_lifetime_spend_cap", "comment": null}, "campaign_name": {"type": "text", "index": 13, "name": "campaign_name", "comment": null}, "campaign_status": {"type": "text", "index": 14, "name": "campaign_status", "comment": null}, "clickthrough_1": {"type": "integer", "index": 15, "name": "clickthrough_1", "comment": null}, "clickthrough_1_gross": {"type": "integer", "index": 16, "name": "clickthrough_1_gross", "comment": null}, "cpc_in_micro_dollar": {"type": "integer", "index": 17, "name": "cpc_in_micro_dollar", "comment": null}, "cpm_in_micro_dollar": {"type": "double precision", "index": 18, "name": "cpm_in_micro_dollar", "comment": null}, "ctr": {"type": "integer", "index": 19, "name": "ctr", "comment": null}, "ecpc_in_micro_dollar": {"type": "integer", "index": 20, "name": "ecpc_in_micro_dollar", "comment": null}, "ecpm_in_micro_dollar": {"type": "double precision", "index": 21, "name": "ecpm_in_micro_dollar", "comment": null}, "ectr": {"type": "integer", "index": 22, "name": "ectr", "comment": null}, "engagement_1": {"type": "integer", "index": 23, "name": "engagement_1", "comment": null}, "impression_1": {"type": "integer", "index": 24, "name": "impression_1", "comment": null}, "impression_1_gross": {"type": "integer", "index": 25, "name": "impression_1_gross", "comment": null}, "outbound_click_1": {"type": "integer", "index": 26, "name": "outbound_click_1", "comment": null}, "paid_impression": {"type": "integer", "index": 27, "name": "paid_impression", "comment": null}, "pin_promotion_name": {"type": "text", "index": 28, "name": "pin_promotion_name", "comment": null}, "pin_promotion_status": {"type": "text", "index": 29, "name": "pin_promotion_status", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 30, "name": "spend_in_micro_dollar", "comment": null}, "targeting_type": {"type": "text", "index": 31, "name": "targeting_type", "comment": null}, "targeting_value": {"type": "text", "index": 32, "name": "targeting_value", "comment": null}, "total_engagement": {"type": "integer", "index": 33, "name": "total_engagement", "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.pinterest_source_integration_tests.keyword_report_data"}, "seed.pinterest_source_integration_tests.pin_promotion_history_data": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "pin_promotion_history_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "ad_group_id": {"type": "bigint", "index": 2, "name": "ad_group_id", "comment": null}, "created_time": {"type": "text", "index": 3, "name": "created_time", "comment": null}, "destination_url": {"type": "text", "index": 4, "name": "destination_url", "comment": null}, "name": {"type": "text", "index": 5, "name": "name", "comment": null}, "pin_id": {"type": "bigint", "index": 6, "name": "pin_id", "comment": null}, "status": {"type": "text", "index": 7, "name": "status", "comment": null}, "creative_type": {"type": "text", "index": 8, "name": "creative_type", "comment": null}, "_fivetran_synced": {"type": "text", "index": 9, "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.pinterest_source_integration_tests.pin_promotion_history_data"}, "seed.pinterest_source_integration_tests.pin_promotion_report_data": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "pin_promotion_report_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"date": {"type": "text", "index": 1, "name": "date", "comment": null}, "pin_promotion_id": {"type": "bigint", "index": 2, "name": "pin_promotion_id", "comment": null}, "ad_group_id": {"type": "bigint", "index": 3, "name": "ad_group_id", "comment": null}, "campaign_id": {"type": "bigint", "index": 4, "name": "campaign_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 5, "name": "advertiser_id", "comment": null}, "_fivetran_synced": {"type": "text", "index": 6, "name": "_fivetran_synced", "comment": null}, "impression_1": {"type": "integer", "index": 7, "name": "impression_1", "comment": null}, "impression_2": {"type": "integer", "index": 8, "name": "impression_2", "comment": null}, "clickthrough_1": {"type": "integer", "index": 9, "name": "clickthrough_1", "comment": null}, "clickthrough_2": {"type": "integer", "index": 10, "name": "clickthrough_2", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 11, "name": "spend_in_micro_dollar", "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.pinterest_source_integration_tests.pin_promotion_report_data"}, "model.pinterest_source.stg_pinterest_ads__ad_group_history": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__ad_group_history", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"ad_group_id": {"type": "bigint", "index": 1, "name": "ad_group_id", "comment": null}, "ad_group_name": {"type": "text", "index": 2, "name": "ad_group_name", "comment": null}, "ad_group_status": {"type": "text", "index": 3, "name": "ad_group_status", "comment": null}, "_fivetran_synced": {"type": "text", "index": 4, "name": "_fivetran_synced", "comment": null}, "campaign_id": {"type": "bigint", "index": 5, "name": "campaign_id", "comment": null}, "created_at": {"type": "text", "index": 6, "name": "created_at", "comment": null}, "end_time": {"type": "integer", "index": 7, "name": "end_time", "comment": null}, "start_time": {"type": "text", "index": 8, "name": "start_time", "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.pinterest_source.stg_pinterest_ads__ad_group_history"}, "model.pinterest_source.stg_pinterest_ads__ad_group_history_tmp": {"metadata": {"type": "VIEW", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__ad_group_history_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "campaign_id": {"type": "bigint", "index": 2, "name": "campaign_id", "comment": null}, "created_time": {"type": "text", "index": 3, "name": "created_time", "comment": null}, "name": {"type": "text", "index": 4, "name": "name", "comment": null}, "status": {"type": "text", "index": 5, "name": "status", "comment": null}, "start_time": {"type": "text", "index": 6, "name": "start_time", "comment": null}, "end_time": {"type": "integer", "index": 7, "name": "end_time", "comment": null}, "_fivetran_synced": {"type": "text", "index": 8, "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.pinterest_source.stg_pinterest_ads__ad_group_history_tmp"}, "model.pinterest_source.stg_pinterest_ads__ad_group_report": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__ad_group_report", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"date_day": {"type": "timestamp without time zone", "index": 1, "name": "date_day", "comment": null}, "ad_group_id": {"type": "bigint", "index": 2, "name": "ad_group_id", "comment": null}, "ad_group_name": {"type": "text", "index": 3, "name": "ad_group_name", "comment": null}, "ad_group_status": {"type": "text", "index": 4, "name": "ad_group_status", "comment": null}, "campaign_id": {"type": "bigint", "index": 5, "name": "campaign_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 6, "name": "advertiser_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 7, "name": "_fivetran_synced", "comment": null}, "impressions": {"type": "integer", "index": 8, "name": "impressions", "comment": null}, "clicks": {"type": "integer", "index": 9, "name": "clicks", "comment": null}, "spend": {"type": "numeric", "index": 10, "name": "spend", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.pinterest_source.stg_pinterest_ads__ad_group_report"}, "model.pinterest_source.stg_pinterest_ads__ad_group_report_tmp": {"metadata": {"type": "VIEW", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__ad_group_report_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"ad_group_id": {"type": "bigint", "index": 1, "name": "ad_group_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 2, "name": "advertiser_id", "comment": null}, "date": {"type": "timestamp without time zone", "index": 3, "name": "date", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 4, "name": "_fivetran_synced", "comment": null}, "ad_group_name": {"type": "text", "index": 5, "name": "ad_group_name", "comment": null}, "ad_group_status": {"type": "text", "index": 6, "name": "ad_group_status", "comment": null}, "campaign_daily_spend_cap": {"type": "integer", "index": 7, "name": "campaign_daily_spend_cap", "comment": null}, "campaign_id": {"type": "bigint", "index": 8, "name": "campaign_id", "comment": null}, "campaign_lifetime_spend_cap": {"type": "integer", "index": 9, "name": "campaign_lifetime_spend_cap", "comment": null}, "campaign_name": {"type": "text", "index": 10, "name": "campaign_name", "comment": null}, "campaign_status": {"type": "text", "index": 11, "name": "campaign_status", "comment": null}, "clickthrough_1": {"type": "integer", "index": 12, "name": "clickthrough_1", "comment": null}, "clickthrough_1_gross": {"type": "integer", "index": 13, "name": "clickthrough_1_gross", "comment": null}, "cpc_in_micro_dollar": {"type": "double precision", "index": 14, "name": "cpc_in_micro_dollar", "comment": null}, "cpm_in_micro_dollar": {"type": "double precision", "index": 15, "name": "cpm_in_micro_dollar", "comment": null}, "ctr": {"type": "double precision", "index": 16, "name": "ctr", "comment": null}, "ecpc_in_micro_dollar": {"type": "double precision", "index": 17, "name": "ecpc_in_micro_dollar", "comment": null}, "ecpm_in_micro_dollar": {"type": "double precision", "index": 18, "name": "ecpm_in_micro_dollar", "comment": null}, "ectr": {"type": "double precision", "index": 19, "name": "ectr", "comment": null}, "engagement_1": {"type": "integer", "index": 20, "name": "engagement_1", "comment": null}, "impression_1": {"type": "integer", "index": 21, "name": "impression_1", "comment": null}, "impression_1_gross": {"type": "integer", "index": 22, "name": "impression_1_gross", "comment": null}, "outbound_click_1": {"type": "integer", "index": 23, "name": "outbound_click_1", "comment": null}, "paid_impression": {"type": "integer", "index": 24, "name": "paid_impression", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 25, "name": "spend_in_micro_dollar", "comment": null}, "total_engagement": {"type": "integer", "index": 26, "name": "total_engagement", "comment": null}, "total_impression_frequency": {"type": "double precision", "index": 27, "name": "total_impression_frequency", "comment": null}, "total_impression_user": {"type": "integer", "index": 28, "name": "total_impression_user", "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.pinterest_source.stg_pinterest_ads__ad_group_report_tmp"}, "model.pinterest_source.stg_pinterest_ads__advertiser_history": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__advertiser_history", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"advertiser_id": {"type": "bigint", "index": 1, "name": "advertiser_id", "comment": null}, "advertiser_name": {"type": "text", "index": 2, "name": "advertiser_name", "comment": null}, "advertiser_status": {"type": "text", "index": 3, "name": "advertiser_status", "comment": null}, "billing_profile_status": {"type": "text", "index": 4, "name": "billing_profile_status", "comment": null}, "billing_type": {"type": "text", "index": 5, "name": "billing_type", "comment": null}, "country": {"type": "text", "index": 6, "name": "country", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 7, "name": "created_at", "comment": null}, "currency": {"type": "text", "index": 8, "name": "currency", "comment": null}, "merchant_id": {"type": "integer", "index": 9, "name": "merchant_id", "comment": null}, "owner_user_id": {"type": "integer", "index": 10, "name": "owner_user_id", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 11, "name": "updated_at", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 12, "name": "_fivetran_synced", "comment": null}, "is_most_recent_record": {"type": "boolean", "index": 13, "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.pinterest_source.stg_pinterest_ads__advertiser_history"}, "model.pinterest_source.stg_pinterest_ads__advertiser_history_tmp": {"metadata": {"type": "VIEW", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__advertiser_history_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "updated_time": {"type": "timestamp without time zone", "index": 2, "name": "updated_time", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "billing_profile_status": {"type": "text", "index": 4, "name": "billing_profile_status", "comment": null}, "billing_type": {"type": "text", "index": 5, "name": "billing_type", "comment": null}, "country": {"type": "text", "index": 6, "name": "country", "comment": null}, "created_time": {"type": "timestamp without time zone", "index": 7, "name": "created_time", "comment": null}, "currency": {"type": "text", "index": 8, "name": "currency", "comment": null}, "merchant_id": {"type": "integer", "index": 9, "name": "merchant_id", "comment": null}, "name": {"type": "text", "index": 10, "name": "name", "comment": null}, "owner_user_id": {"type": "integer", "index": 11, "name": "owner_user_id", "comment": null}, "status": {"type": "text", "index": 12, "name": "status", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.pinterest_source.stg_pinterest_ads__advertiser_history_tmp"}, "model.pinterest_source.stg_pinterest_ads__advertiser_report": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__advertiser_report", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"date_day": {"type": "timestamp without time zone", "index": 1, "name": "date_day", "comment": null}, "advertiser_id": {"type": "bigint", "index": 2, "name": "advertiser_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "impressions": {"type": "integer", "index": 4, "name": "impressions", "comment": null}, "clicks": {"type": "integer", "index": 5, "name": "clicks", "comment": null}, "spend": {"type": "numeric", "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.pinterest_source.stg_pinterest_ads__advertiser_report"}, "model.pinterest_source.stg_pinterest_ads__advertiser_report_tmp": {"metadata": {"type": "VIEW", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__advertiser_report_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"advertiser_id": {"type": "bigint", "index": 1, "name": "advertiser_id", "comment": null}, "date": {"type": "timestamp without time zone", "index": 2, "name": "date", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "clickthrough_1": {"type": "integer", "index": 4, "name": "clickthrough_1", "comment": null}, "clickthrough_1_gross": {"type": "integer", "index": 5, "name": "clickthrough_1_gross", "comment": null}, "cpc_in_micro_dollar": {"type": "double precision", "index": 6, "name": "cpc_in_micro_dollar", "comment": null}, "cpm_in_micro_dollar": {"type": "double precision", "index": 7, "name": "cpm_in_micro_dollar", "comment": null}, "ctr": {"type": "double precision", "index": 8, "name": "ctr", "comment": null}, "ecpc_in_micro_dollar": {"type": "double precision", "index": 9, "name": "ecpc_in_micro_dollar", "comment": null}, "ecpm_in_micro_dollar": {"type": "double precision", "index": 10, "name": "ecpm_in_micro_dollar", "comment": null}, "ectr": {"type": "double precision", "index": 11, "name": "ectr", "comment": null}, "engagement_1": {"type": "integer", "index": 12, "name": "engagement_1", "comment": null}, "impression_1": {"type": "integer", "index": 13, "name": "impression_1", "comment": null}, "impression_1_gross": {"type": "integer", "index": 14, "name": "impression_1_gross", "comment": null}, "outbound_click_1": {"type": "integer", "index": 15, "name": "outbound_click_1", "comment": null}, "paid_impression": {"type": "integer", "index": 16, "name": "paid_impression", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 17, "name": "spend_in_micro_dollar", "comment": null}, "total_engagement": {"type": "integer", "index": 18, "name": "total_engagement", "comment": null}, "total_impression_frequency": {"type": "double precision", "index": 19, "name": "total_impression_frequency", "comment": null}, "total_impression_user": {"type": "integer", "index": 20, "name": "total_impression_user", "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.pinterest_source.stg_pinterest_ads__advertiser_report_tmp"}, "model.pinterest_source.stg_pinterest_ads__campaign_history": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__campaign_history", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"campaign_id": {"type": "bigint", "index": 1, "name": "campaign_id", "comment": null}, "campaign_name": {"type": "text", "index": 2, "name": "campaign_name", "comment": null}, "campaign_status": {"type": "text", "index": 3, "name": "campaign_status", "comment": null}, "_fivetran_synced": {"type": "text", "index": 4, "name": "_fivetran_synced", "comment": null}, "created_at": {"type": "text", "index": 5, "name": "created_at", "comment": null}, "is_most_recent_record": {"type": "boolean", "index": 6, "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.pinterest_source.stg_pinterest_ads__campaign_history"}, "model.pinterest_source.stg_pinterest_ads__campaign_history_tmp": {"metadata": {"type": "VIEW", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__campaign_history_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "created_time": {"type": "text", "index": 2, "name": "created_time", "comment": null}, "name": {"type": "text", "index": 3, "name": "name", "comment": null}, "status": {"type": "text", "index": 4, "name": "status", "comment": null}, "_fivetran_synced": {"type": "text", "index": 5, "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.pinterest_source.stg_pinterest_ads__campaign_history_tmp"}, "model.pinterest_source.stg_pinterest_ads__campaign_report": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__campaign_report", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"date_day": {"type": "timestamp without time zone", "index": 1, "name": "date_day", "comment": null}, "campaign_id": {"type": "bigint", "index": 2, "name": "campaign_id", "comment": null}, "campaign_name": {"type": "text", "index": 3, "name": "campaign_name", "comment": null}, "campaign_status": {"type": "text", "index": 4, "name": "campaign_status", "comment": null}, "advertiser_id": {"type": "bigint", "index": 5, "name": "advertiser_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 6, "name": "_fivetran_synced", "comment": null}, "impressions": {"type": "integer", "index": 7, "name": "impressions", "comment": null}, "clicks": {"type": "integer", "index": 8, "name": "clicks", "comment": null}, "spend": {"type": "numeric", "index": 9, "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.pinterest_source.stg_pinterest_ads__campaign_report"}, "model.pinterest_source.stg_pinterest_ads__campaign_report_tmp": {"metadata": {"type": "VIEW", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__campaign_report_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"advertiser_id": {"type": "bigint", "index": 1, "name": "advertiser_id", "comment": null}, "campaign_id": {"type": "bigint", "index": 2, "name": "campaign_id", "comment": null}, "date": {"type": "timestamp without time zone", "index": 3, "name": "date", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 4, "name": "_fivetran_synced", "comment": null}, "campaign_daily_spend_cap": {"type": "integer", "index": 5, "name": "campaign_daily_spend_cap", "comment": null}, "campaign_lifetime_spend_cap": {"type": "integer", "index": 6, "name": "campaign_lifetime_spend_cap", "comment": null}, "campaign_name": {"type": "text", "index": 7, "name": "campaign_name", "comment": null}, "campaign_status": {"type": "text", "index": 8, "name": "campaign_status", "comment": null}, "clickthrough_1": {"type": "integer", "index": 9, "name": "clickthrough_1", "comment": null}, "clickthrough_1_gross": {"type": "integer", "index": 10, "name": "clickthrough_1_gross", "comment": null}, "cpc_in_micro_dollar": {"type": "double precision", "index": 11, "name": "cpc_in_micro_dollar", "comment": null}, "cpm_in_micro_dollar": {"type": "double precision", "index": 12, "name": "cpm_in_micro_dollar", "comment": null}, "ctr": {"type": "double precision", "index": 13, "name": "ctr", "comment": null}, "ecpc_in_micro_dollar": {"type": "double precision", "index": 14, "name": "ecpc_in_micro_dollar", "comment": null}, "ecpm_in_micro_dollar": {"type": "double precision", "index": 15, "name": "ecpm_in_micro_dollar", "comment": null}, "ectr": {"type": "double precision", "index": 16, "name": "ectr", "comment": null}, "engagement_1": {"type": "integer", "index": 17, "name": "engagement_1", "comment": null}, "impression_1": {"type": "integer", "index": 18, "name": "impression_1", "comment": null}, "impression_1_gross": {"type": "integer", "index": 19, "name": "impression_1_gross", "comment": null}, "outbound_click_1": {"type": "integer", "index": 20, "name": "outbound_click_1", "comment": null}, "paid_impression": {"type": "integer", "index": 21, "name": "paid_impression", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 22, "name": "spend_in_micro_dollar", "comment": null}, "total_engagement": {"type": "integer", "index": 23, "name": "total_engagement", "comment": null}, "total_impression_frequency": {"type": "double precision", "index": 24, "name": "total_impression_frequency", "comment": null}, "total_impression_user": {"type": "integer", "index": 25, "name": "total_impression_user", "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.pinterest_source.stg_pinterest_ads__campaign_report_tmp"}, "model.pinterest_source.stg_pinterest_ads__keyword_history": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__keyword_history", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"keyword_id": {"type": "bigint", "index": 1, "name": "keyword_id", "comment": null}, "keyword_value": {"type": "text", "index": 2, "name": "keyword_value", "comment": null}, "_fivetran_id": {"type": "text", "index": 3, "name": "_fivetran_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 4, "name": "_fivetran_synced", "comment": null}, "ad_group_id": {"type": "bigint", "index": 5, "name": "ad_group_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 6, "name": "advertiser_id", "comment": null}, "archived": {"type": "boolean", "index": 7, "name": "archived", "comment": null}, "bid": {"type": "integer", "index": 8, "name": "bid", "comment": null}, "campaign_id": {"type": "bigint", "index": 9, "name": "campaign_id", "comment": null}, "match_type": {"type": "text", "index": 10, "name": "match_type", "comment": null}, "parent_type": {"type": "text", "index": 11, "name": "parent_type", "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.pinterest_source.stg_pinterest_ads__keyword_history"}, "model.pinterest_source.stg_pinterest_ads__keyword_history_tmp": {"metadata": {"type": "VIEW", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__keyword_history_tmp", "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}, "ad_group_id": {"type": "bigint", "index": 3, "name": "ad_group_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 4, "name": "advertiser_id", "comment": null}, "archived": {"type": "boolean", "index": 5, "name": "archived", "comment": null}, "bid": {"type": "integer", "index": 6, "name": "bid", "comment": null}, "campaign_id": {"type": "bigint", "index": 7, "name": "campaign_id", "comment": null}, "id": {"type": "bigint", "index": 8, "name": "id", "comment": null}, "match_type": {"type": "text", "index": 9, "name": "match_type", "comment": null}, "parent_type": {"type": "text", "index": 10, "name": "parent_type", "comment": null}, "value": {"type": "text", "index": 11, "name": "value", "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.pinterest_source.stg_pinterest_ads__keyword_history_tmp"}, "model.pinterest_source.stg_pinterest_ads__keyword_report": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__keyword_report", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"date_day": {"type": "timestamp without time zone", "index": 1, "name": "date_day", "comment": null}, "keyword_id": {"type": "bigint", "index": 2, "name": "keyword_id", "comment": null}, "pin_promotion_id": {"type": "bigint", "index": 3, "name": "pin_promotion_id", "comment": null}, "ad_group_id": {"type": "bigint", "index": 4, "name": "ad_group_id", "comment": null}, "ad_group_name": {"type": "text", "index": 5, "name": "ad_group_name", "comment": null}, "ad_group_status": {"type": "text", "index": 6, "name": "ad_group_status", "comment": null}, "campaign_id": {"type": "bigint", "index": 7, "name": "campaign_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 8, "name": "advertiser_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 9, "name": "_fivetran_synced", "comment": null}, "impressions": {"type": "integer", "index": 10, "name": "impressions", "comment": null}, "clicks": {"type": "integer", "index": 11, "name": "clicks", "comment": null}, "spend": {"type": "numeric", "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.pinterest_source.stg_pinterest_ads__keyword_report"}, "model.pinterest_source.stg_pinterest_ads__keyword_report_tmp": {"metadata": {"type": "VIEW", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__keyword_report_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"ad_group_id": {"type": "bigint", "index": 1, "name": "ad_group_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 2, "name": "advertiser_id", "comment": null}, "campaign_id": {"type": "bigint", "index": 3, "name": "campaign_id", "comment": null}, "date": {"type": "timestamp without time zone", "index": 4, "name": "date", "comment": null}, "keyword_id": {"type": "bigint", "index": 5, "name": "keyword_id", "comment": null}, "pin_id": {"type": "bigint", "index": 6, "name": "pin_id", "comment": null}, "pin_promotion_id": {"type": "bigint", "index": 7, "name": "pin_promotion_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 8, "name": "_fivetran_synced", "comment": null}, "ad_group_name": {"type": "text", "index": 9, "name": "ad_group_name", "comment": null}, "ad_group_status": {"type": "text", "index": 10, "name": "ad_group_status", "comment": null}, "campaign_daily_spend_cap": {"type": "integer", "index": 11, "name": "campaign_daily_spend_cap", "comment": null}, "campaign_lifetime_spend_cap": {"type": "integer", "index": 12, "name": "campaign_lifetime_spend_cap", "comment": null}, "campaign_name": {"type": "text", "index": 13, "name": "campaign_name", "comment": null}, "campaign_status": {"type": "text", "index": 14, "name": "campaign_status", "comment": null}, "clickthrough_1": {"type": "integer", "index": 15, "name": "clickthrough_1", "comment": null}, "clickthrough_1_gross": {"type": "integer", "index": 16, "name": "clickthrough_1_gross", "comment": null}, "cpc_in_micro_dollar": {"type": "integer", "index": 17, "name": "cpc_in_micro_dollar", "comment": null}, "cpm_in_micro_dollar": {"type": "double precision", "index": 18, "name": "cpm_in_micro_dollar", "comment": null}, "ctr": {"type": "integer", "index": 19, "name": "ctr", "comment": null}, "ecpc_in_micro_dollar": {"type": "integer", "index": 20, "name": "ecpc_in_micro_dollar", "comment": null}, "ecpm_in_micro_dollar": {"type": "double precision", "index": 21, "name": "ecpm_in_micro_dollar", "comment": null}, "ectr": {"type": "integer", "index": 22, "name": "ectr", "comment": null}, "engagement_1": {"type": "integer", "index": 23, "name": "engagement_1", "comment": null}, "impression_1": {"type": "integer", "index": 24, "name": "impression_1", "comment": null}, "impression_1_gross": {"type": "integer", "index": 25, "name": "impression_1_gross", "comment": null}, "outbound_click_1": {"type": "integer", "index": 26, "name": "outbound_click_1", "comment": null}, "paid_impression": {"type": "integer", "index": 27, "name": "paid_impression", "comment": null}, "pin_promotion_name": {"type": "text", "index": 28, "name": "pin_promotion_name", "comment": null}, "pin_promotion_status": {"type": "text", "index": 29, "name": "pin_promotion_status", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 30, "name": "spend_in_micro_dollar", "comment": null}, "targeting_type": {"type": "text", "index": 31, "name": "targeting_type", "comment": null}, "targeting_value": {"type": "text", "index": 32, "name": "targeting_value", "comment": null}, "total_engagement": {"type": "integer", "index": 33, "name": "total_engagement", "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.pinterest_source.stg_pinterest_ads__keyword_report_tmp"}, "model.pinterest_source.stg_pinterest_ads__pin_promotion_history": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__pin_promotion_history", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"pin_promotion_id": {"type": "bigint", "index": 1, "name": "pin_promotion_id", "comment": null}, "ad_group_id": {"type": "bigint", "index": 2, "name": "ad_group_id", "comment": null}, "created_at": {"type": "text", "index": 3, "name": "created_at", "comment": null}, "destination_url": {"type": "text", "index": 4, "name": "destination_url", "comment": null}, "base_url": {"type": "text", "index": 5, "name": "base_url", "comment": null}, "url_host": {"type": "character varying", "index": 6, "name": "url_host", "comment": null}, "url_path": {"type": "text", "index": 7, "name": "url_path", "comment": null}, "utm_source": {"type": "text", "index": 8, "name": "utm_source", "comment": null}, "utm_medium": {"type": "text", "index": 9, "name": "utm_medium", "comment": null}, "utm_campaign": {"type": "text", "index": 10, "name": "utm_campaign", "comment": null}, "utm_content": {"type": "text", "index": 11, "name": "utm_content", "comment": null}, "utm_term": {"type": "text", "index": 12, "name": "utm_term", "comment": null}, "name": {"type": "text", "index": 13, "name": "name", "comment": null}, "pin_id": {"type": "bigint", "index": 14, "name": "pin_id", "comment": null}, "status": {"type": "text", "index": 15, "name": "status", "comment": null}, "creative_type": {"type": "text", "index": 16, "name": "creative_type", "comment": null}, "_fivetran_synced": {"type": "text", "index": 17, "name": "_fivetran_synced", "comment": null}, "is_most_recent_record": {"type": "boolean", "index": 18, "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.pinterest_source.stg_pinterest_ads__pin_promotion_history"}, "model.pinterest_source.stg_pinterest_ads__pin_promotion_history_tmp": {"metadata": {"type": "VIEW", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__pin_promotion_history_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "ad_group_id": {"type": "bigint", "index": 2, "name": "ad_group_id", "comment": null}, "created_time": {"type": "text", "index": 3, "name": "created_time", "comment": null}, "destination_url": {"type": "text", "index": 4, "name": "destination_url", "comment": null}, "name": {"type": "text", "index": 5, "name": "name", "comment": null}, "pin_id": {"type": "bigint", "index": 6, "name": "pin_id", "comment": null}, "status": {"type": "text", "index": 7, "name": "status", "comment": null}, "creative_type": {"type": "text", "index": 8, "name": "creative_type", "comment": null}, "_fivetran_synced": {"type": "text", "index": 9, "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.pinterest_source.stg_pinterest_ads__pin_promotion_history_tmp"}, "model.pinterest_source.stg_pinterest_ads__pin_promotion_report": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__pin_promotion_report", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"date_day": {"type": "text", "index": 1, "name": "date_day", "comment": null}, "pin_promotion_id": {"type": "bigint", "index": 2, "name": "pin_promotion_id", "comment": null}, "ad_group_id": {"type": "bigint", "index": 3, "name": "ad_group_id", "comment": null}, "campaign_id": {"type": "bigint", "index": 4, "name": "campaign_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 5, "name": "advertiser_id", "comment": null}, "_fivetran_synced": {"type": "text", "index": 6, "name": "_fivetran_synced", "comment": null}, "impressions": {"type": "integer", "index": 7, "name": "impressions", "comment": null}, "clicks": {"type": "integer", "index": 8, "name": "clicks", "comment": null}, "spend": {"type": "numeric", "index": 9, "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.pinterest_source.stg_pinterest_ads__pin_promotion_report"}, "model.pinterest_source.stg_pinterest_ads__pin_promotion_report_tmp": {"metadata": {"type": "VIEW", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__pin_promotion_report_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"date": {"type": "text", "index": 1, "name": "date", "comment": null}, "pin_promotion_id": {"type": "bigint", "index": 2, "name": "pin_promotion_id", "comment": null}, "ad_group_id": {"type": "bigint", "index": 3, "name": "ad_group_id", "comment": null}, "campaign_id": {"type": "bigint", "index": 4, "name": "campaign_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 5, "name": "advertiser_id", "comment": null}, "_fivetran_synced": {"type": "text", "index": 6, "name": "_fivetran_synced", "comment": null}, "impression_1": {"type": "integer", "index": 7, "name": "impression_1", "comment": null}, "impression_2": {"type": "integer", "index": 8, "name": "impression_2", "comment": null}, "clickthrough_1": {"type": "integer", "index": 9, "name": "clickthrough_1", "comment": null}, "clickthrough_2": {"type": "integer", "index": 10, "name": "clickthrough_2", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 11, "name": "spend_in_micro_dollar", "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.pinterest_source.stg_pinterest_ads__pin_promotion_report_tmp"}}, "sources": {"source.pinterest_source.pinterest_ads.ad_group_history": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "ad_group_history_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "campaign_id": {"type": "bigint", "index": 2, "name": "campaign_id", "comment": null}, "created_time": {"type": "text", "index": 3, "name": "created_time", "comment": null}, "name": {"type": "text", "index": 4, "name": "name", "comment": null}, "status": {"type": "text", "index": 5, "name": "status", "comment": null}, "start_time": {"type": "text", "index": 6, "name": "start_time", "comment": null}, "end_time": {"type": "integer", "index": 7, "name": "end_time", "comment": null}, "_fivetran_synced": {"type": "text", "index": 8, "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.pinterest_source.pinterest_ads.ad_group_history"}, "source.pinterest_source.pinterest_ads.ad_group_report": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "ad_group_report_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"ad_group_id": {"type": "bigint", "index": 1, "name": "ad_group_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 2, "name": "advertiser_id", "comment": null}, "date": {"type": "timestamp without time zone", "index": 3, "name": "date", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 4, "name": "_fivetran_synced", "comment": null}, "ad_group_name": {"type": "text", "index": 5, "name": "ad_group_name", "comment": null}, "ad_group_status": {"type": "text", "index": 6, "name": "ad_group_status", "comment": null}, "campaign_daily_spend_cap": {"type": "integer", "index": 7, "name": "campaign_daily_spend_cap", "comment": null}, "campaign_id": {"type": "bigint", "index": 8, "name": "campaign_id", "comment": null}, "campaign_lifetime_spend_cap": {"type": "integer", "index": 9, "name": "campaign_lifetime_spend_cap", "comment": null}, "campaign_name": {"type": "text", "index": 10, "name": "campaign_name", "comment": null}, "campaign_status": {"type": "text", "index": 11, "name": "campaign_status", "comment": null}, "clickthrough_1": {"type": "integer", "index": 12, "name": "clickthrough_1", "comment": null}, "clickthrough_1_gross": {"type": "integer", "index": 13, "name": "clickthrough_1_gross", "comment": null}, "cpc_in_micro_dollar": {"type": "double precision", "index": 14, "name": "cpc_in_micro_dollar", "comment": null}, "cpm_in_micro_dollar": {"type": "double precision", "index": 15, "name": "cpm_in_micro_dollar", "comment": null}, "ctr": {"type": "double precision", "index": 16, "name": "ctr", "comment": null}, "ecpc_in_micro_dollar": {"type": "double precision", "index": 17, "name": "ecpc_in_micro_dollar", "comment": null}, "ecpm_in_micro_dollar": {"type": "double precision", "index": 18, "name": "ecpm_in_micro_dollar", "comment": null}, "ectr": {"type": "double precision", "index": 19, "name": "ectr", "comment": null}, "engagement_1": {"type": "integer", "index": 20, "name": "engagement_1", "comment": null}, "impression_1": {"type": "integer", "index": 21, "name": "impression_1", "comment": null}, "impression_1_gross": {"type": "integer", "index": 22, "name": "impression_1_gross", "comment": null}, "outbound_click_1": {"type": "integer", "index": 23, "name": "outbound_click_1", "comment": null}, "paid_impression": {"type": "integer", "index": 24, "name": "paid_impression", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 25, "name": "spend_in_micro_dollar", "comment": null}, "total_engagement": {"type": "integer", "index": 26, "name": "total_engagement", "comment": null}, "total_impression_frequency": {"type": "double precision", "index": 27, "name": "total_impression_frequency", "comment": null}, "total_impression_user": {"type": "integer", "index": 28, "name": "total_impression_user", "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.pinterest_source.pinterest_ads.ad_group_report"}, "source.pinterest_source.pinterest_ads.advertiser_history": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "advertiser_history_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "updated_time": {"type": "timestamp without time zone", "index": 2, "name": "updated_time", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "billing_profile_status": {"type": "text", "index": 4, "name": "billing_profile_status", "comment": null}, "billing_type": {"type": "text", "index": 5, "name": "billing_type", "comment": null}, "country": {"type": "text", "index": 6, "name": "country", "comment": null}, "created_time": {"type": "timestamp without time zone", "index": 7, "name": "created_time", "comment": null}, "currency": {"type": "text", "index": 8, "name": "currency", "comment": null}, "merchant_id": {"type": "integer", "index": 9, "name": "merchant_id", "comment": null}, "name": {"type": "text", "index": 10, "name": "name", "comment": null}, "owner_user_id": {"type": "integer", "index": 11, "name": "owner_user_id", "comment": null}, "status": {"type": "text", "index": 12, "name": "status", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.pinterest_source.pinterest_ads.advertiser_history"}, "source.pinterest_source.pinterest_ads.advertiser_report": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "advertiser_report_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"advertiser_id": {"type": "bigint", "index": 1, "name": "advertiser_id", "comment": null}, "date": {"type": "timestamp without time zone", "index": 2, "name": "date", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "clickthrough_1": {"type": "integer", "index": 4, "name": "clickthrough_1", "comment": null}, "clickthrough_1_gross": {"type": "integer", "index": 5, "name": "clickthrough_1_gross", "comment": null}, "cpc_in_micro_dollar": {"type": "double precision", "index": 6, "name": "cpc_in_micro_dollar", "comment": null}, "cpm_in_micro_dollar": {"type": "double precision", "index": 7, "name": "cpm_in_micro_dollar", "comment": null}, "ctr": {"type": "double precision", "index": 8, "name": "ctr", "comment": null}, "ecpc_in_micro_dollar": {"type": "double precision", "index": 9, "name": "ecpc_in_micro_dollar", "comment": null}, "ecpm_in_micro_dollar": {"type": "double precision", "index": 10, "name": "ecpm_in_micro_dollar", "comment": null}, "ectr": {"type": "double precision", "index": 11, "name": "ectr", "comment": null}, "engagement_1": {"type": "integer", "index": 12, "name": "engagement_1", "comment": null}, "impression_1": {"type": "integer", "index": 13, "name": "impression_1", "comment": null}, "impression_1_gross": {"type": "integer", "index": 14, "name": "impression_1_gross", "comment": null}, "outbound_click_1": {"type": "integer", "index": 15, "name": "outbound_click_1", "comment": null}, "paid_impression": {"type": "integer", "index": 16, "name": "paid_impression", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 17, "name": "spend_in_micro_dollar", "comment": null}, "total_engagement": {"type": "integer", "index": 18, "name": "total_engagement", "comment": null}, "total_impression_frequency": {"type": "double precision", "index": 19, "name": "total_impression_frequency", "comment": null}, "total_impression_user": {"type": "integer", "index": 20, "name": "total_impression_user", "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.pinterest_source.pinterest_ads.advertiser_report"}, "source.pinterest_source.pinterest_ads.campaign_history": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "campaign_history_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "created_time": {"type": "text", "index": 2, "name": "created_time", "comment": null}, "name": {"type": "text", "index": 3, "name": "name", "comment": null}, "status": {"type": "text", "index": 4, "name": "status", "comment": null}, "_fivetran_synced": {"type": "text", "index": 5, "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.pinterest_source.pinterest_ads.campaign_history"}, "source.pinterest_source.pinterest_ads.campaign_report": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "campaign_report_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"advertiser_id": {"type": "bigint", "index": 1, "name": "advertiser_id", "comment": null}, "campaign_id": {"type": "bigint", "index": 2, "name": "campaign_id", "comment": null}, "date": {"type": "timestamp without time zone", "index": 3, "name": "date", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 4, "name": "_fivetran_synced", "comment": null}, "campaign_daily_spend_cap": {"type": "integer", "index": 5, "name": "campaign_daily_spend_cap", "comment": null}, "campaign_lifetime_spend_cap": {"type": "integer", "index": 6, "name": "campaign_lifetime_spend_cap", "comment": null}, "campaign_name": {"type": "text", "index": 7, "name": "campaign_name", "comment": null}, "campaign_status": {"type": "text", "index": 8, "name": "campaign_status", "comment": null}, "clickthrough_1": {"type": "integer", "index": 9, "name": "clickthrough_1", "comment": null}, "clickthrough_1_gross": {"type": "integer", "index": 10, "name": "clickthrough_1_gross", "comment": null}, "cpc_in_micro_dollar": {"type": "double precision", "index": 11, "name": "cpc_in_micro_dollar", "comment": null}, "cpm_in_micro_dollar": {"type": "double precision", "index": 12, "name": "cpm_in_micro_dollar", "comment": null}, "ctr": {"type": "double precision", "index": 13, "name": "ctr", "comment": null}, "ecpc_in_micro_dollar": {"type": "double precision", "index": 14, "name": "ecpc_in_micro_dollar", "comment": null}, "ecpm_in_micro_dollar": {"type": "double precision", "index": 15, "name": "ecpm_in_micro_dollar", "comment": null}, "ectr": {"type": "double precision", "index": 16, "name": "ectr", "comment": null}, "engagement_1": {"type": "integer", "index": 17, "name": "engagement_1", "comment": null}, "impression_1": {"type": "integer", "index": 18, "name": "impression_1", "comment": null}, "impression_1_gross": {"type": "integer", "index": 19, "name": "impression_1_gross", "comment": null}, "outbound_click_1": {"type": "integer", "index": 20, "name": "outbound_click_1", "comment": null}, "paid_impression": {"type": "integer", "index": 21, "name": "paid_impression", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 22, "name": "spend_in_micro_dollar", "comment": null}, "total_engagement": {"type": "integer", "index": 23, "name": "total_engagement", "comment": null}, "total_impression_frequency": {"type": "double precision", "index": 24, "name": "total_impression_frequency", "comment": null}, "total_impression_user": {"type": "integer", "index": 25, "name": "total_impression_user", "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.pinterest_source.pinterest_ads.campaign_report"}, "source.pinterest_source.pinterest_ads.keyword_history": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "keyword_history_data", "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}, "ad_group_id": {"type": "bigint", "index": 3, "name": "ad_group_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 4, "name": "advertiser_id", "comment": null}, "archived": {"type": "boolean", "index": 5, "name": "archived", "comment": null}, "bid": {"type": "integer", "index": 6, "name": "bid", "comment": null}, "campaign_id": {"type": "bigint", "index": 7, "name": "campaign_id", "comment": null}, "id": {"type": "bigint", "index": 8, "name": "id", "comment": null}, "match_type": {"type": "text", "index": 9, "name": "match_type", "comment": null}, "parent_type": {"type": "text", "index": 10, "name": "parent_type", "comment": null}, "value": {"type": "text", "index": 11, "name": "value", "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.pinterest_source.pinterest_ads.keyword_history"}, "source.pinterest_source.pinterest_ads.keyword_report": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "keyword_report_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"ad_group_id": {"type": "bigint", "index": 1, "name": "ad_group_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 2, "name": "advertiser_id", "comment": null}, "campaign_id": {"type": "bigint", "index": 3, "name": "campaign_id", "comment": null}, "date": {"type": "timestamp without time zone", "index": 4, "name": "date", "comment": null}, "keyword_id": {"type": "bigint", "index": 5, "name": "keyword_id", "comment": null}, "pin_id": {"type": "bigint", "index": 6, "name": "pin_id", "comment": null}, "pin_promotion_id": {"type": "bigint", "index": 7, "name": "pin_promotion_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 8, "name": "_fivetran_synced", "comment": null}, "ad_group_name": {"type": "text", "index": 9, "name": "ad_group_name", "comment": null}, "ad_group_status": {"type": "text", "index": 10, "name": "ad_group_status", "comment": null}, "campaign_daily_spend_cap": {"type": "integer", "index": 11, "name": "campaign_daily_spend_cap", "comment": null}, "campaign_lifetime_spend_cap": {"type": "integer", "index": 12, "name": "campaign_lifetime_spend_cap", "comment": null}, "campaign_name": {"type": "text", "index": 13, "name": "campaign_name", "comment": null}, "campaign_status": {"type": "text", "index": 14, "name": "campaign_status", "comment": null}, "clickthrough_1": {"type": "integer", "index": 15, "name": "clickthrough_1", "comment": null}, "clickthrough_1_gross": {"type": "integer", "index": 16, "name": "clickthrough_1_gross", "comment": null}, "cpc_in_micro_dollar": {"type": "integer", "index": 17, "name": "cpc_in_micro_dollar", "comment": null}, "cpm_in_micro_dollar": {"type": "double precision", "index": 18, "name": "cpm_in_micro_dollar", "comment": null}, "ctr": {"type": "integer", "index": 19, "name": "ctr", "comment": null}, "ecpc_in_micro_dollar": {"type": "integer", "index": 20, "name": "ecpc_in_micro_dollar", "comment": null}, "ecpm_in_micro_dollar": {"type": "double precision", "index": 21, "name": "ecpm_in_micro_dollar", "comment": null}, "ectr": {"type": "integer", "index": 22, "name": "ectr", "comment": null}, "engagement_1": {"type": "integer", "index": 23, "name": "engagement_1", "comment": null}, "impression_1": {"type": "integer", "index": 24, "name": "impression_1", "comment": null}, "impression_1_gross": {"type": "integer", "index": 25, "name": "impression_1_gross", "comment": null}, "outbound_click_1": {"type": "integer", "index": 26, "name": "outbound_click_1", "comment": null}, "paid_impression": {"type": "integer", "index": 27, "name": "paid_impression", "comment": null}, "pin_promotion_name": {"type": "text", "index": 28, "name": "pin_promotion_name", "comment": null}, "pin_promotion_status": {"type": "text", "index": 29, "name": "pin_promotion_status", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 30, "name": "spend_in_micro_dollar", "comment": null}, "targeting_type": {"type": "text", "index": 31, "name": "targeting_type", "comment": null}, "targeting_value": {"type": "text", "index": 32, "name": "targeting_value", "comment": null}, "total_engagement": {"type": "integer", "index": 33, "name": "total_engagement", "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.pinterest_source.pinterest_ads.keyword_report"}, "source.pinterest_source.pinterest_ads.pin_promotion_history": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "pin_promotion_history_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "ad_group_id": {"type": "bigint", "index": 2, "name": "ad_group_id", "comment": null}, "created_time": {"type": "text", "index": 3, "name": "created_time", "comment": null}, "destination_url": {"type": "text", "index": 4, "name": "destination_url", "comment": null}, "name": {"type": "text", "index": 5, "name": "name", "comment": null}, "pin_id": {"type": "bigint", "index": 6, "name": "pin_id", "comment": null}, "status": {"type": "text", "index": 7, "name": "status", "comment": null}, "creative_type": {"type": "text", "index": 8, "name": "creative_type", "comment": null}, "_fivetran_synced": {"type": "text", "index": 9, "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.pinterest_source.pinterest_ads.pin_promotion_history"}, "source.pinterest_source.pinterest_ads.pin_promotion_report": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "pin_promotion_report_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"date": {"type": "text", "index": 1, "name": "date", "comment": null}, "pin_promotion_id": {"type": "bigint", "index": 2, "name": "pin_promotion_id", "comment": null}, "ad_group_id": {"type": "bigint", "index": 3, "name": "ad_group_id", "comment": null}, "campaign_id": {"type": "bigint", "index": 4, "name": "campaign_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 5, "name": "advertiser_id", "comment": null}, "_fivetran_synced": {"type": "text", "index": 6, "name": "_fivetran_synced", "comment": null}, "impression_1": {"type": "integer", "index": 7, "name": "impression_1", "comment": null}, "impression_2": {"type": "integer", "index": 8, "name": "impression_2", "comment": null}, "clickthrough_1": {"type": "integer", "index": 9, "name": "clickthrough_1", "comment": null}, "clickthrough_2": {"type": "integer", "index": 10, "name": "clickthrough_2", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 11, "name": "spend_in_micro_dollar", "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.pinterest_source.pinterest_ads.pin_promotion_report"}}, "errors": null} \ No newline at end of file +{"metadata": {"dbt_schema_version": "https://schemas.getdbt.com/dbt/catalog/v1.json", "dbt_version": "1.0.4", "generated_at": "2022-06-30T22:37:02.370059Z", "invocation_id": "12ea8e79-f696-403e-91ac-676ccc0e54b3", "env": {}}, "nodes": {"seed.pinterest_source_integration_tests.ad_group_history_data": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "ad_group_history_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "campaign_id": {"type": "bigint", "index": 2, "name": "campaign_id", "comment": null}, "created_time": {"type": "text", "index": 3, "name": "created_time", "comment": null}, "name": {"type": "text", "index": 4, "name": "name", "comment": null}, "status": {"type": "text", "index": 5, "name": "status", "comment": null}, "start_time": {"type": "text", "index": 6, "name": "start_time", "comment": null}, "end_time": {"type": "integer", "index": 7, "name": "end_time", "comment": null}, "_fivetran_synced": {"type": "text", "index": 8, "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.pinterest_source_integration_tests.ad_group_history_data"}, "seed.pinterest_source_integration_tests.ad_group_report_data": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "ad_group_report_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"ad_group_id": {"type": "bigint", "index": 1, "name": "ad_group_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 2, "name": "advertiser_id", "comment": null}, "date": {"type": "timestamp without time zone", "index": 3, "name": "date", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 4, "name": "_fivetran_synced", "comment": null}, "ad_group_name": {"type": "text", "index": 5, "name": "ad_group_name", "comment": null}, "ad_group_status": {"type": "text", "index": 6, "name": "ad_group_status", "comment": null}, "campaign_daily_spend_cap": {"type": "integer", "index": 7, "name": "campaign_daily_spend_cap", "comment": null}, "campaign_id": {"type": "bigint", "index": 8, "name": "campaign_id", "comment": null}, "campaign_lifetime_spend_cap": {"type": "integer", "index": 9, "name": "campaign_lifetime_spend_cap", "comment": null}, "campaign_name": {"type": "text", "index": 10, "name": "campaign_name", "comment": null}, "campaign_status": {"type": "text", "index": 11, "name": "campaign_status", "comment": null}, "clickthrough_1": {"type": "integer", "index": 12, "name": "clickthrough_1", "comment": null}, "clickthrough_1_gross": {"type": "integer", "index": 13, "name": "clickthrough_1_gross", "comment": null}, "cpc_in_micro_dollar": {"type": "double precision", "index": 14, "name": "cpc_in_micro_dollar", "comment": null}, "cpm_in_micro_dollar": {"type": "double precision", "index": 15, "name": "cpm_in_micro_dollar", "comment": null}, "ctr": {"type": "double precision", "index": 16, "name": "ctr", "comment": null}, "ecpc_in_micro_dollar": {"type": "double precision", "index": 17, "name": "ecpc_in_micro_dollar", "comment": null}, "ecpm_in_micro_dollar": {"type": "double precision", "index": 18, "name": "ecpm_in_micro_dollar", "comment": null}, "ectr": {"type": "double precision", "index": 19, "name": "ectr", "comment": null}, "engagement_1": {"type": "integer", "index": 20, "name": "engagement_1", "comment": null}, "impression_1": {"type": "integer", "index": 21, "name": "impression_1", "comment": null}, "impression_1_gross": {"type": "integer", "index": 22, "name": "impression_1_gross", "comment": null}, "outbound_click_1": {"type": "integer", "index": 23, "name": "outbound_click_1", "comment": null}, "paid_impression": {"type": "integer", "index": 24, "name": "paid_impression", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 25, "name": "spend_in_micro_dollar", "comment": null}, "total_engagement": {"type": "integer", "index": 26, "name": "total_engagement", "comment": null}, "total_impression_frequency": {"type": "double precision", "index": 27, "name": "total_impression_frequency", "comment": null}, "total_impression_user": {"type": "integer", "index": 28, "name": "total_impression_user", "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.pinterest_source_integration_tests.ad_group_report_data"}, "seed.pinterest_source_integration_tests.advertiser_history_data": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "advertiser_history_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "updated_time": {"type": "timestamp without time zone", "index": 2, "name": "updated_time", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "billing_profile_status": {"type": "text", "index": 4, "name": "billing_profile_status", "comment": null}, "billing_type": {"type": "text", "index": 5, "name": "billing_type", "comment": null}, "country": {"type": "text", "index": 6, "name": "country", "comment": null}, "created_time": {"type": "timestamp without time zone", "index": 7, "name": "created_time", "comment": null}, "currency": {"type": "text", "index": 8, "name": "currency", "comment": null}, "merchant_id": {"type": "integer", "index": 9, "name": "merchant_id", "comment": null}, "name": {"type": "text", "index": 10, "name": "name", "comment": null}, "owner_user_id": {"type": "integer", "index": 11, "name": "owner_user_id", "comment": null}, "status": {"type": "text", "index": 12, "name": "status", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "seed.pinterest_source_integration_tests.advertiser_history_data"}, "seed.pinterest_source_integration_tests.advertiser_report_data": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "advertiser_report_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"advertiser_id": {"type": "bigint", "index": 1, "name": "advertiser_id", "comment": null}, "date": {"type": "timestamp without time zone", "index": 2, "name": "date", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "clickthrough_1": {"type": "integer", "index": 4, "name": "clickthrough_1", "comment": null}, "clickthrough_1_gross": {"type": "integer", "index": 5, "name": "clickthrough_1_gross", "comment": null}, "cpc_in_micro_dollar": {"type": "double precision", "index": 6, "name": "cpc_in_micro_dollar", "comment": null}, "cpm_in_micro_dollar": {"type": "double precision", "index": 7, "name": "cpm_in_micro_dollar", "comment": null}, "ctr": {"type": "double precision", "index": 8, "name": "ctr", "comment": null}, "ecpc_in_micro_dollar": {"type": "double precision", "index": 9, "name": "ecpc_in_micro_dollar", "comment": null}, "ecpm_in_micro_dollar": {"type": "double precision", "index": 10, "name": "ecpm_in_micro_dollar", "comment": null}, "ectr": {"type": "double precision", "index": 11, "name": "ectr", "comment": null}, "engagement_1": {"type": "integer", "index": 12, "name": "engagement_1", "comment": null}, "impression_1": {"type": "integer", "index": 13, "name": "impression_1", "comment": null}, "impression_1_gross": {"type": "integer", "index": 14, "name": "impression_1_gross", "comment": null}, "outbound_click_1": {"type": "integer", "index": 15, "name": "outbound_click_1", "comment": null}, "paid_impression": {"type": "integer", "index": 16, "name": "paid_impression", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 17, "name": "spend_in_micro_dollar", "comment": null}, "total_engagement": {"type": "integer", "index": 18, "name": "total_engagement", "comment": null}, "total_impression_frequency": {"type": "double precision", "index": 19, "name": "total_impression_frequency", "comment": null}, "total_impression_user": {"type": "integer", "index": 20, "name": "total_impression_user", "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.pinterest_source_integration_tests.advertiser_report_data"}, "seed.pinterest_source_integration_tests.campaign_history_data": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "campaign_history_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "created_time": {"type": "text", "index": 2, "name": "created_time", "comment": null}, "name": {"type": "text", "index": 3, "name": "name", "comment": null}, "status": {"type": "text", "index": 4, "name": "status", "comment": null}, "_fivetran_synced": {"type": "text", "index": 5, "name": "_fivetran_synced", "comment": null}, "advertiser_id": {"type": "bigint", "index": 6, "name": "advertiser_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.pinterest_source_integration_tests.campaign_history_data"}, "seed.pinterest_source_integration_tests.campaign_report_data": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "campaign_report_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"advertiser_id": {"type": "bigint", "index": 1, "name": "advertiser_id", "comment": null}, "campaign_id": {"type": "bigint", "index": 2, "name": "campaign_id", "comment": null}, "date": {"type": "timestamp without time zone", "index": 3, "name": "date", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 4, "name": "_fivetran_synced", "comment": null}, "campaign_daily_spend_cap": {"type": "integer", "index": 5, "name": "campaign_daily_spend_cap", "comment": null}, "campaign_lifetime_spend_cap": {"type": "integer", "index": 6, "name": "campaign_lifetime_spend_cap", "comment": null}, "campaign_name": {"type": "text", "index": 7, "name": "campaign_name", "comment": null}, "campaign_status": {"type": "text", "index": 8, "name": "campaign_status", "comment": null}, "clickthrough_1": {"type": "integer", "index": 9, "name": "clickthrough_1", "comment": null}, "clickthrough_1_gross": {"type": "integer", "index": 10, "name": "clickthrough_1_gross", "comment": null}, "cpc_in_micro_dollar": {"type": "double precision", "index": 11, "name": "cpc_in_micro_dollar", "comment": null}, "cpm_in_micro_dollar": {"type": "double precision", "index": 12, "name": "cpm_in_micro_dollar", "comment": null}, "ctr": {"type": "double precision", "index": 13, "name": "ctr", "comment": null}, "ecpc_in_micro_dollar": {"type": "double precision", "index": 14, "name": "ecpc_in_micro_dollar", "comment": null}, "ecpm_in_micro_dollar": {"type": "double precision", "index": 15, "name": "ecpm_in_micro_dollar", "comment": null}, "ectr": {"type": "double precision", "index": 16, "name": "ectr", "comment": null}, "engagement_1": {"type": "integer", "index": 17, "name": "engagement_1", "comment": null}, "impression_1": {"type": "integer", "index": 18, "name": "impression_1", "comment": null}, "impression_1_gross": {"type": "integer", "index": 19, "name": "impression_1_gross", "comment": null}, "outbound_click_1": {"type": "integer", "index": 20, "name": "outbound_click_1", "comment": null}, "paid_impression": {"type": "integer", "index": 21, "name": "paid_impression", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 22, "name": "spend_in_micro_dollar", "comment": null}, "total_engagement": {"type": "integer", "index": 23, "name": "total_engagement", "comment": null}, "total_impression_frequency": {"type": "double precision", "index": 24, "name": "total_impression_frequency", "comment": null}, "total_impression_user": {"type": "integer", "index": 25, "name": "total_impression_user", "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.pinterest_source_integration_tests.campaign_report_data"}, "seed.pinterest_source_integration_tests.keyword_history_data": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "keyword_history_data", "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}, "ad_group_id": {"type": "bigint", "index": 3, "name": "ad_group_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 4, "name": "advertiser_id", "comment": null}, "archived": {"type": "boolean", "index": 5, "name": "archived", "comment": null}, "bid": {"type": "integer", "index": 6, "name": "bid", "comment": null}, "campaign_id": {"type": "bigint", "index": 7, "name": "campaign_id", "comment": null}, "id": {"type": "bigint", "index": 8, "name": "id", "comment": null}, "match_type": {"type": "text", "index": 9, "name": "match_type", "comment": null}, "parent_type": {"type": "text", "index": 10, "name": "parent_type", "comment": null}, "value": {"type": "text", "index": 11, "name": "value", "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.pinterest_source_integration_tests.keyword_history_data"}, "seed.pinterest_source_integration_tests.keyword_report_data": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "keyword_report_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"ad_group_id": {"type": "bigint", "index": 1, "name": "ad_group_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 2, "name": "advertiser_id", "comment": null}, "campaign_id": {"type": "bigint", "index": 3, "name": "campaign_id", "comment": null}, "date": {"type": "timestamp without time zone", "index": 4, "name": "date", "comment": null}, "keyword_id": {"type": "bigint", "index": 5, "name": "keyword_id", "comment": null}, "pin_id": {"type": "bigint", "index": 6, "name": "pin_id", "comment": null}, "pin_promotion_id": {"type": "bigint", "index": 7, "name": "pin_promotion_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 8, "name": "_fivetran_synced", "comment": null}, "ad_group_name": {"type": "text", "index": 9, "name": "ad_group_name", "comment": null}, "ad_group_status": {"type": "text", "index": 10, "name": "ad_group_status", "comment": null}, "campaign_daily_spend_cap": {"type": "integer", "index": 11, "name": "campaign_daily_spend_cap", "comment": null}, "campaign_lifetime_spend_cap": {"type": "integer", "index": 12, "name": "campaign_lifetime_spend_cap", "comment": null}, "campaign_name": {"type": "text", "index": 13, "name": "campaign_name", "comment": null}, "campaign_status": {"type": "text", "index": 14, "name": "campaign_status", "comment": null}, "clickthrough_1": {"type": "integer", "index": 15, "name": "clickthrough_1", "comment": null}, "clickthrough_1_gross": {"type": "integer", "index": 16, "name": "clickthrough_1_gross", "comment": null}, "cpc_in_micro_dollar": {"type": "integer", "index": 17, "name": "cpc_in_micro_dollar", "comment": null}, "cpm_in_micro_dollar": {"type": "double precision", "index": 18, "name": "cpm_in_micro_dollar", "comment": null}, "ctr": {"type": "integer", "index": 19, "name": "ctr", "comment": null}, "ecpc_in_micro_dollar": {"type": "integer", "index": 20, "name": "ecpc_in_micro_dollar", "comment": null}, "ecpm_in_micro_dollar": {"type": "double precision", "index": 21, "name": "ecpm_in_micro_dollar", "comment": null}, "ectr": {"type": "integer", "index": 22, "name": "ectr", "comment": null}, "engagement_1": {"type": "integer", "index": 23, "name": "engagement_1", "comment": null}, "impression_1": {"type": "integer", "index": 24, "name": "impression_1", "comment": null}, "impression_1_gross": {"type": "integer", "index": 25, "name": "impression_1_gross", "comment": null}, "outbound_click_1": {"type": "integer", "index": 26, "name": "outbound_click_1", "comment": null}, "paid_impression": {"type": "integer", "index": 27, "name": "paid_impression", "comment": null}, "pin_promotion_name": {"type": "text", "index": 28, "name": "pin_promotion_name", "comment": null}, "pin_promotion_status": {"type": "text", "index": 29, "name": "pin_promotion_status", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 30, "name": "spend_in_micro_dollar", "comment": null}, "targeting_type": {"type": "text", "index": 31, "name": "targeting_type", "comment": null}, "targeting_value": {"type": "text", "index": 32, "name": "targeting_value", "comment": null}, "total_engagement": {"type": "integer", "index": 33, "name": "total_engagement", "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.pinterest_source_integration_tests.keyword_report_data"}, "seed.pinterest_source_integration_tests.pin_promotion_history_data": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "pin_promotion_history_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "ad_group_id": {"type": "bigint", "index": 2, "name": "ad_group_id", "comment": null}, "created_time": {"type": "text", "index": 3, "name": "created_time", "comment": null}, "destination_url": {"type": "text", "index": 4, "name": "destination_url", "comment": null}, "name": {"type": "text", "index": 5, "name": "name", "comment": null}, "pin_id": {"type": "bigint", "index": 6, "name": "pin_id", "comment": null}, "status": {"type": "text", "index": 7, "name": "status", "comment": null}, "creative_type": {"type": "text", "index": 8, "name": "creative_type", "comment": null}, "_fivetran_synced": {"type": "text", "index": 9, "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.pinterest_source_integration_tests.pin_promotion_history_data"}, "seed.pinterest_source_integration_tests.pin_promotion_report_data": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "pin_promotion_report_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"date": {"type": "text", "index": 1, "name": "date", "comment": null}, "pin_promotion_id": {"type": "bigint", "index": 2, "name": "pin_promotion_id", "comment": null}, "ad_group_id": {"type": "bigint", "index": 3, "name": "ad_group_id", "comment": null}, "campaign_id": {"type": "bigint", "index": 4, "name": "campaign_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 5, "name": "advertiser_id", "comment": null}, "_fivetran_synced": {"type": "text", "index": 6, "name": "_fivetran_synced", "comment": null}, "impression_1": {"type": "integer", "index": 7, "name": "impression_1", "comment": null}, "impression_2": {"type": "integer", "index": 8, "name": "impression_2", "comment": null}, "clickthrough_1": {"type": "integer", "index": 9, "name": "clickthrough_1", "comment": null}, "clickthrough_2": {"type": "integer", "index": 10, "name": "clickthrough_2", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 11, "name": "spend_in_micro_dollar", "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.pinterest_source_integration_tests.pin_promotion_report_data"}, "model.pinterest_source.stg_pinterest_ads__ad_group_history": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__ad_group_history", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"ad_group_id": {"type": "bigint", "index": 1, "name": "ad_group_id", "comment": null}, "ad_group_name": {"type": "text", "index": 2, "name": "ad_group_name", "comment": null}, "ad_group_status": {"type": "text", "index": 3, "name": "ad_group_status", "comment": null}, "_fivetran_synced": {"type": "text", "index": 4, "name": "_fivetran_synced", "comment": null}, "campaign_id": {"type": "bigint", "index": 5, "name": "campaign_id", "comment": null}, "created_at": {"type": "text", "index": 6, "name": "created_at", "comment": null}, "end_time": {"type": "integer", "index": 7, "name": "end_time", "comment": null}, "start_time": {"type": "text", "index": 8, "name": "start_time", "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.pinterest_source.stg_pinterest_ads__ad_group_history"}, "model.pinterest_source.stg_pinterest_ads__ad_group_history_tmp": {"metadata": {"type": "VIEW", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__ad_group_history_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "campaign_id": {"type": "bigint", "index": 2, "name": "campaign_id", "comment": null}, "created_time": {"type": "text", "index": 3, "name": "created_time", "comment": null}, "name": {"type": "text", "index": 4, "name": "name", "comment": null}, "status": {"type": "text", "index": 5, "name": "status", "comment": null}, "start_time": {"type": "text", "index": 6, "name": "start_time", "comment": null}, "end_time": {"type": "integer", "index": 7, "name": "end_time", "comment": null}, "_fivetran_synced": {"type": "text", "index": 8, "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.pinterest_source.stg_pinterest_ads__ad_group_history_tmp"}, "model.pinterest_source.stg_pinterest_ads__ad_group_report": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__ad_group_report", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"date_day": {"type": "timestamp without time zone", "index": 1, "name": "date_day", "comment": null}, "ad_group_id": {"type": "bigint", "index": 2, "name": "ad_group_id", "comment": null}, "ad_group_name": {"type": "text", "index": 3, "name": "ad_group_name", "comment": null}, "ad_group_status": {"type": "text", "index": 4, "name": "ad_group_status", "comment": null}, "campaign_id": {"type": "bigint", "index": 5, "name": "campaign_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 6, "name": "advertiser_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 7, "name": "_fivetran_synced", "comment": null}, "impressions": {"type": "integer", "index": 8, "name": "impressions", "comment": null}, "clicks": {"type": "integer", "index": 9, "name": "clicks", "comment": null}, "spend": {"type": "numeric", "index": 10, "name": "spend", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.pinterest_source.stg_pinterest_ads__ad_group_report"}, "model.pinterest_source.stg_pinterest_ads__ad_group_report_tmp": {"metadata": {"type": "VIEW", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__ad_group_report_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"ad_group_id": {"type": "bigint", "index": 1, "name": "ad_group_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 2, "name": "advertiser_id", "comment": null}, "date": {"type": "timestamp without time zone", "index": 3, "name": "date", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 4, "name": "_fivetran_synced", "comment": null}, "ad_group_name": {"type": "text", "index": 5, "name": "ad_group_name", "comment": null}, "ad_group_status": {"type": "text", "index": 6, "name": "ad_group_status", "comment": null}, "campaign_daily_spend_cap": {"type": "integer", "index": 7, "name": "campaign_daily_spend_cap", "comment": null}, "campaign_id": {"type": "bigint", "index": 8, "name": "campaign_id", "comment": null}, "campaign_lifetime_spend_cap": {"type": "integer", "index": 9, "name": "campaign_lifetime_spend_cap", "comment": null}, "campaign_name": {"type": "text", "index": 10, "name": "campaign_name", "comment": null}, "campaign_status": {"type": "text", "index": 11, "name": "campaign_status", "comment": null}, "clickthrough_1": {"type": "integer", "index": 12, "name": "clickthrough_1", "comment": null}, "clickthrough_1_gross": {"type": "integer", "index": 13, "name": "clickthrough_1_gross", "comment": null}, "cpc_in_micro_dollar": {"type": "double precision", "index": 14, "name": "cpc_in_micro_dollar", "comment": null}, "cpm_in_micro_dollar": {"type": "double precision", "index": 15, "name": "cpm_in_micro_dollar", "comment": null}, "ctr": {"type": "double precision", "index": 16, "name": "ctr", "comment": null}, "ecpc_in_micro_dollar": {"type": "double precision", "index": 17, "name": "ecpc_in_micro_dollar", "comment": null}, "ecpm_in_micro_dollar": {"type": "double precision", "index": 18, "name": "ecpm_in_micro_dollar", "comment": null}, "ectr": {"type": "double precision", "index": 19, "name": "ectr", "comment": null}, "engagement_1": {"type": "integer", "index": 20, "name": "engagement_1", "comment": null}, "impression_1": {"type": "integer", "index": 21, "name": "impression_1", "comment": null}, "impression_1_gross": {"type": "integer", "index": 22, "name": "impression_1_gross", "comment": null}, "outbound_click_1": {"type": "integer", "index": 23, "name": "outbound_click_1", "comment": null}, "paid_impression": {"type": "integer", "index": 24, "name": "paid_impression", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 25, "name": "spend_in_micro_dollar", "comment": null}, "total_engagement": {"type": "integer", "index": 26, "name": "total_engagement", "comment": null}, "total_impression_frequency": {"type": "double precision", "index": 27, "name": "total_impression_frequency", "comment": null}, "total_impression_user": {"type": "integer", "index": 28, "name": "total_impression_user", "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.pinterest_source.stg_pinterest_ads__ad_group_report_tmp"}, "model.pinterest_source.stg_pinterest_ads__advertiser_history": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__advertiser_history", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"advertiser_id": {"type": "bigint", "index": 1, "name": "advertiser_id", "comment": null}, "advertiser_name": {"type": "text", "index": 2, "name": "advertiser_name", "comment": null}, "advertiser_status": {"type": "text", "index": 3, "name": "advertiser_status", "comment": null}, "billing_profile_status": {"type": "text", "index": 4, "name": "billing_profile_status", "comment": null}, "billing_type": {"type": "text", "index": 5, "name": "billing_type", "comment": null}, "country": {"type": "text", "index": 6, "name": "country", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 7, "name": "created_at", "comment": null}, "currency_code": {"type": "text", "index": 8, "name": "currency_code", "comment": null}, "merchant_id": {"type": "integer", "index": 9, "name": "merchant_id", "comment": null}, "owner_user_id": {"type": "integer", "index": 10, "name": "owner_user_id", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 11, "name": "updated_at", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 12, "name": "_fivetran_synced", "comment": null}, "is_most_recent_record": {"type": "boolean", "index": 13, "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.pinterest_source.stg_pinterest_ads__advertiser_history"}, "model.pinterest_source.stg_pinterest_ads__advertiser_history_tmp": {"metadata": {"type": "VIEW", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__advertiser_history_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "updated_time": {"type": "timestamp without time zone", "index": 2, "name": "updated_time", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "billing_profile_status": {"type": "text", "index": 4, "name": "billing_profile_status", "comment": null}, "billing_type": {"type": "text", "index": 5, "name": "billing_type", "comment": null}, "country": {"type": "text", "index": 6, "name": "country", "comment": null}, "created_time": {"type": "timestamp without time zone", "index": 7, "name": "created_time", "comment": null}, "currency": {"type": "text", "index": 8, "name": "currency", "comment": null}, "merchant_id": {"type": "integer", "index": 9, "name": "merchant_id", "comment": null}, "name": {"type": "text", "index": 10, "name": "name", "comment": null}, "owner_user_id": {"type": "integer", "index": 11, "name": "owner_user_id", "comment": null}, "status": {"type": "text", "index": 12, "name": "status", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.pinterest_source.stg_pinterest_ads__advertiser_history_tmp"}, "model.pinterest_source.stg_pinterest_ads__advertiser_report": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__advertiser_report", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"date_day": {"type": "timestamp without time zone", "index": 1, "name": "date_day", "comment": null}, "advertiser_id": {"type": "bigint", "index": 2, "name": "advertiser_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "impressions": {"type": "integer", "index": 4, "name": "impressions", "comment": null}, "clicks": {"type": "integer", "index": 5, "name": "clicks", "comment": null}, "spend": {"type": "numeric", "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.pinterest_source.stg_pinterest_ads__advertiser_report"}, "model.pinterest_source.stg_pinterest_ads__advertiser_report_tmp": {"metadata": {"type": "VIEW", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__advertiser_report_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"advertiser_id": {"type": "bigint", "index": 1, "name": "advertiser_id", "comment": null}, "date": {"type": "timestamp without time zone", "index": 2, "name": "date", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "clickthrough_1": {"type": "integer", "index": 4, "name": "clickthrough_1", "comment": null}, "clickthrough_1_gross": {"type": "integer", "index": 5, "name": "clickthrough_1_gross", "comment": null}, "cpc_in_micro_dollar": {"type": "double precision", "index": 6, "name": "cpc_in_micro_dollar", "comment": null}, "cpm_in_micro_dollar": {"type": "double precision", "index": 7, "name": "cpm_in_micro_dollar", "comment": null}, "ctr": {"type": "double precision", "index": 8, "name": "ctr", "comment": null}, "ecpc_in_micro_dollar": {"type": "double precision", "index": 9, "name": "ecpc_in_micro_dollar", "comment": null}, "ecpm_in_micro_dollar": {"type": "double precision", "index": 10, "name": "ecpm_in_micro_dollar", "comment": null}, "ectr": {"type": "double precision", "index": 11, "name": "ectr", "comment": null}, "engagement_1": {"type": "integer", "index": 12, "name": "engagement_1", "comment": null}, "impression_1": {"type": "integer", "index": 13, "name": "impression_1", "comment": null}, "impression_1_gross": {"type": "integer", "index": 14, "name": "impression_1_gross", "comment": null}, "outbound_click_1": {"type": "integer", "index": 15, "name": "outbound_click_1", "comment": null}, "paid_impression": {"type": "integer", "index": 16, "name": "paid_impression", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 17, "name": "spend_in_micro_dollar", "comment": null}, "total_engagement": {"type": "integer", "index": 18, "name": "total_engagement", "comment": null}, "total_impression_frequency": {"type": "double precision", "index": 19, "name": "total_impression_frequency", "comment": null}, "total_impression_user": {"type": "integer", "index": 20, "name": "total_impression_user", "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.pinterest_source.stg_pinterest_ads__advertiser_report_tmp"}, "model.pinterest_source.stg_pinterest_ads__campaign_history": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__campaign_history", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"campaign_id": {"type": "bigint", "index": 1, "name": "campaign_id", "comment": null}, "campaign_name": {"type": "text", "index": 2, "name": "campaign_name", "comment": null}, "advertiser_id": {"type": "bigint", "index": 3, "name": "advertiser_id", "comment": null}, "campaign_status": {"type": "text", "index": 4, "name": "campaign_status", "comment": null}, "_fivetran_synced": {"type": "text", "index": 5, "name": "_fivetran_synced", "comment": null}, "created_at": {"type": "text", "index": 6, "name": "created_at", "comment": null}, "is_most_recent_record": {"type": "boolean", "index": 7, "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.pinterest_source.stg_pinterest_ads__campaign_history"}, "model.pinterest_source.stg_pinterest_ads__campaign_history_tmp": {"metadata": {"type": "VIEW", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__campaign_history_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "created_time": {"type": "text", "index": 2, "name": "created_time", "comment": null}, "name": {"type": "text", "index": 3, "name": "name", "comment": null}, "status": {"type": "text", "index": 4, "name": "status", "comment": null}, "_fivetran_synced": {"type": "text", "index": 5, "name": "_fivetran_synced", "comment": null}, "advertiser_id": {"type": "bigint", "index": 6, "name": "advertiser_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.pinterest_source.stg_pinterest_ads__campaign_history_tmp"}, "model.pinterest_source.stg_pinterest_ads__campaign_report": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__campaign_report", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"date_day": {"type": "timestamp without time zone", "index": 1, "name": "date_day", "comment": null}, "campaign_id": {"type": "bigint", "index": 2, "name": "campaign_id", "comment": null}, "campaign_name": {"type": "text", "index": 3, "name": "campaign_name", "comment": null}, "campaign_status": {"type": "text", "index": 4, "name": "campaign_status", "comment": null}, "advertiser_id": {"type": "bigint", "index": 5, "name": "advertiser_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 6, "name": "_fivetran_synced", "comment": null}, "impressions": {"type": "integer", "index": 7, "name": "impressions", "comment": null}, "clicks": {"type": "integer", "index": 8, "name": "clicks", "comment": null}, "spend": {"type": "numeric", "index": 9, "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.pinterest_source.stg_pinterest_ads__campaign_report"}, "model.pinterest_source.stg_pinterest_ads__campaign_report_tmp": {"metadata": {"type": "VIEW", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__campaign_report_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"advertiser_id": {"type": "bigint", "index": 1, "name": "advertiser_id", "comment": null}, "campaign_id": {"type": "bigint", "index": 2, "name": "campaign_id", "comment": null}, "date": {"type": "timestamp without time zone", "index": 3, "name": "date", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 4, "name": "_fivetran_synced", "comment": null}, "campaign_daily_spend_cap": {"type": "integer", "index": 5, "name": "campaign_daily_spend_cap", "comment": null}, "campaign_lifetime_spend_cap": {"type": "integer", "index": 6, "name": "campaign_lifetime_spend_cap", "comment": null}, "campaign_name": {"type": "text", "index": 7, "name": "campaign_name", "comment": null}, "campaign_status": {"type": "text", "index": 8, "name": "campaign_status", "comment": null}, "clickthrough_1": {"type": "integer", "index": 9, "name": "clickthrough_1", "comment": null}, "clickthrough_1_gross": {"type": "integer", "index": 10, "name": "clickthrough_1_gross", "comment": null}, "cpc_in_micro_dollar": {"type": "double precision", "index": 11, "name": "cpc_in_micro_dollar", "comment": null}, "cpm_in_micro_dollar": {"type": "double precision", "index": 12, "name": "cpm_in_micro_dollar", "comment": null}, "ctr": {"type": "double precision", "index": 13, "name": "ctr", "comment": null}, "ecpc_in_micro_dollar": {"type": "double precision", "index": 14, "name": "ecpc_in_micro_dollar", "comment": null}, "ecpm_in_micro_dollar": {"type": "double precision", "index": 15, "name": "ecpm_in_micro_dollar", "comment": null}, "ectr": {"type": "double precision", "index": 16, "name": "ectr", "comment": null}, "engagement_1": {"type": "integer", "index": 17, "name": "engagement_1", "comment": null}, "impression_1": {"type": "integer", "index": 18, "name": "impression_1", "comment": null}, "impression_1_gross": {"type": "integer", "index": 19, "name": "impression_1_gross", "comment": null}, "outbound_click_1": {"type": "integer", "index": 20, "name": "outbound_click_1", "comment": null}, "paid_impression": {"type": "integer", "index": 21, "name": "paid_impression", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 22, "name": "spend_in_micro_dollar", "comment": null}, "total_engagement": {"type": "integer", "index": 23, "name": "total_engagement", "comment": null}, "total_impression_frequency": {"type": "double precision", "index": 24, "name": "total_impression_frequency", "comment": null}, "total_impression_user": {"type": "integer", "index": 25, "name": "total_impression_user", "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.pinterest_source.stg_pinterest_ads__campaign_report_tmp"}, "model.pinterest_source.stg_pinterest_ads__keyword_history": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__keyword_history", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"keyword_id": {"type": "bigint", "index": 1, "name": "keyword_id", "comment": null}, "keyword_value": {"type": "text", "index": 2, "name": "keyword_value", "comment": null}, "_fivetran_id": {"type": "text", "index": 3, "name": "_fivetran_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 4, "name": "_fivetran_synced", "comment": null}, "ad_group_id": {"type": "bigint", "index": 5, "name": "ad_group_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 6, "name": "advertiser_id", "comment": null}, "archived": {"type": "boolean", "index": 7, "name": "archived", "comment": null}, "bid": {"type": "integer", "index": 8, "name": "bid", "comment": null}, "campaign_id": {"type": "bigint", "index": 9, "name": "campaign_id", "comment": null}, "match_type": {"type": "text", "index": 10, "name": "match_type", "comment": null}, "parent_type": {"type": "text", "index": 11, "name": "parent_type", "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.pinterest_source.stg_pinterest_ads__keyword_history"}, "model.pinterest_source.stg_pinterest_ads__keyword_history_tmp": {"metadata": {"type": "VIEW", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__keyword_history_tmp", "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}, "ad_group_id": {"type": "bigint", "index": 3, "name": "ad_group_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 4, "name": "advertiser_id", "comment": null}, "archived": {"type": "boolean", "index": 5, "name": "archived", "comment": null}, "bid": {"type": "integer", "index": 6, "name": "bid", "comment": null}, "campaign_id": {"type": "bigint", "index": 7, "name": "campaign_id", "comment": null}, "id": {"type": "bigint", "index": 8, "name": "id", "comment": null}, "match_type": {"type": "text", "index": 9, "name": "match_type", "comment": null}, "parent_type": {"type": "text", "index": 10, "name": "parent_type", "comment": null}, "value": {"type": "text", "index": 11, "name": "value", "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.pinterest_source.stg_pinterest_ads__keyword_history_tmp"}, "model.pinterest_source.stg_pinterest_ads__keyword_report": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__keyword_report", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"date_day": {"type": "timestamp without time zone", "index": 1, "name": "date_day", "comment": null}, "keyword_id": {"type": "bigint", "index": 2, "name": "keyword_id", "comment": null}, "pin_promotion_id": {"type": "bigint", "index": 3, "name": "pin_promotion_id", "comment": null}, "ad_group_id": {"type": "bigint", "index": 4, "name": "ad_group_id", "comment": null}, "ad_group_name": {"type": "text", "index": 5, "name": "ad_group_name", "comment": null}, "ad_group_status": {"type": "text", "index": 6, "name": "ad_group_status", "comment": null}, "campaign_id": {"type": "bigint", "index": 7, "name": "campaign_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 8, "name": "advertiser_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 9, "name": "_fivetran_synced", "comment": null}, "impressions": {"type": "integer", "index": 10, "name": "impressions", "comment": null}, "clicks": {"type": "integer", "index": 11, "name": "clicks", "comment": null}, "spend": {"type": "numeric", "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.pinterest_source.stg_pinterest_ads__keyword_report"}, "model.pinterest_source.stg_pinterest_ads__keyword_report_tmp": {"metadata": {"type": "VIEW", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__keyword_report_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"ad_group_id": {"type": "bigint", "index": 1, "name": "ad_group_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 2, "name": "advertiser_id", "comment": null}, "campaign_id": {"type": "bigint", "index": 3, "name": "campaign_id", "comment": null}, "date": {"type": "timestamp without time zone", "index": 4, "name": "date", "comment": null}, "keyword_id": {"type": "bigint", "index": 5, "name": "keyword_id", "comment": null}, "pin_id": {"type": "bigint", "index": 6, "name": "pin_id", "comment": null}, "pin_promotion_id": {"type": "bigint", "index": 7, "name": "pin_promotion_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 8, "name": "_fivetran_synced", "comment": null}, "ad_group_name": {"type": "text", "index": 9, "name": "ad_group_name", "comment": null}, "ad_group_status": {"type": "text", "index": 10, "name": "ad_group_status", "comment": null}, "campaign_daily_spend_cap": {"type": "integer", "index": 11, "name": "campaign_daily_spend_cap", "comment": null}, "campaign_lifetime_spend_cap": {"type": "integer", "index": 12, "name": "campaign_lifetime_spend_cap", "comment": null}, "campaign_name": {"type": "text", "index": 13, "name": "campaign_name", "comment": null}, "campaign_status": {"type": "text", "index": 14, "name": "campaign_status", "comment": null}, "clickthrough_1": {"type": "integer", "index": 15, "name": "clickthrough_1", "comment": null}, "clickthrough_1_gross": {"type": "integer", "index": 16, "name": "clickthrough_1_gross", "comment": null}, "cpc_in_micro_dollar": {"type": "integer", "index": 17, "name": "cpc_in_micro_dollar", "comment": null}, "cpm_in_micro_dollar": {"type": "double precision", "index": 18, "name": "cpm_in_micro_dollar", "comment": null}, "ctr": {"type": "integer", "index": 19, "name": "ctr", "comment": null}, "ecpc_in_micro_dollar": {"type": "integer", "index": 20, "name": "ecpc_in_micro_dollar", "comment": null}, "ecpm_in_micro_dollar": {"type": "double precision", "index": 21, "name": "ecpm_in_micro_dollar", "comment": null}, "ectr": {"type": "integer", "index": 22, "name": "ectr", "comment": null}, "engagement_1": {"type": "integer", "index": 23, "name": "engagement_1", "comment": null}, "impression_1": {"type": "integer", "index": 24, "name": "impression_1", "comment": null}, "impression_1_gross": {"type": "integer", "index": 25, "name": "impression_1_gross", "comment": null}, "outbound_click_1": {"type": "integer", "index": 26, "name": "outbound_click_1", "comment": null}, "paid_impression": {"type": "integer", "index": 27, "name": "paid_impression", "comment": null}, "pin_promotion_name": {"type": "text", "index": 28, "name": "pin_promotion_name", "comment": null}, "pin_promotion_status": {"type": "text", "index": 29, "name": "pin_promotion_status", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 30, "name": "spend_in_micro_dollar", "comment": null}, "targeting_type": {"type": "text", "index": 31, "name": "targeting_type", "comment": null}, "targeting_value": {"type": "text", "index": 32, "name": "targeting_value", "comment": null}, "total_engagement": {"type": "integer", "index": 33, "name": "total_engagement", "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.pinterest_source.stg_pinterest_ads__keyword_report_tmp"}, "model.pinterest_source.stg_pinterest_ads__pin_promotion_history": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__pin_promotion_history", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"pin_promotion_id": {"type": "bigint", "index": 1, "name": "pin_promotion_id", "comment": null}, "ad_group_id": {"type": "bigint", "index": 2, "name": "ad_group_id", "comment": null}, "created_at": {"type": "text", "index": 3, "name": "created_at", "comment": null}, "destination_url": {"type": "text", "index": 4, "name": "destination_url", "comment": null}, "base_url": {"type": "text", "index": 5, "name": "base_url", "comment": null}, "url_host": {"type": "character varying", "index": 6, "name": "url_host", "comment": null}, "url_path": {"type": "text", "index": 7, "name": "url_path", "comment": null}, "utm_source": {"type": "text", "index": 8, "name": "utm_source", "comment": null}, "utm_medium": {"type": "text", "index": 9, "name": "utm_medium", "comment": null}, "utm_campaign": {"type": "text", "index": 10, "name": "utm_campaign", "comment": null}, "utm_content": {"type": "text", "index": 11, "name": "utm_content", "comment": null}, "utm_term": {"type": "text", "index": 12, "name": "utm_term", "comment": null}, "pin_name": {"type": "text", "index": 13, "name": "pin_name", "comment": null}, "pin_id": {"type": "bigint", "index": 14, "name": "pin_id", "comment": null}, "pin_status": {"type": "text", "index": 15, "name": "pin_status", "comment": null}, "creative_type": {"type": "text", "index": 16, "name": "creative_type", "comment": null}, "_fivetran_synced": {"type": "text", "index": 17, "name": "_fivetran_synced", "comment": null}, "is_most_recent_record": {"type": "boolean", "index": 18, "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.pinterest_source.stg_pinterest_ads__pin_promotion_history"}, "model.pinterest_source.stg_pinterest_ads__pin_promotion_history_tmp": {"metadata": {"type": "VIEW", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__pin_promotion_history_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "ad_group_id": {"type": "bigint", "index": 2, "name": "ad_group_id", "comment": null}, "created_time": {"type": "text", "index": 3, "name": "created_time", "comment": null}, "destination_url": {"type": "text", "index": 4, "name": "destination_url", "comment": null}, "name": {"type": "text", "index": 5, "name": "name", "comment": null}, "pin_id": {"type": "bigint", "index": 6, "name": "pin_id", "comment": null}, "status": {"type": "text", "index": 7, "name": "status", "comment": null}, "creative_type": {"type": "text", "index": 8, "name": "creative_type", "comment": null}, "_fivetran_synced": {"type": "text", "index": 9, "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.pinterest_source.stg_pinterest_ads__pin_promotion_history_tmp"}, "model.pinterest_source.stg_pinterest_ads__pin_promotion_report": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__pin_promotion_report", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"date_day": {"type": "text", "index": 1, "name": "date_day", "comment": null}, "pin_promotion_id": {"type": "bigint", "index": 2, "name": "pin_promotion_id", "comment": null}, "ad_group_id": {"type": "bigint", "index": 3, "name": "ad_group_id", "comment": null}, "campaign_id": {"type": "bigint", "index": 4, "name": "campaign_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 5, "name": "advertiser_id", "comment": null}, "_fivetran_synced": {"type": "text", "index": 6, "name": "_fivetran_synced", "comment": null}, "impressions": {"type": "integer", "index": 7, "name": "impressions", "comment": null}, "clicks": {"type": "integer", "index": 8, "name": "clicks", "comment": null}, "spend": {"type": "numeric", "index": 9, "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.pinterest_source.stg_pinterest_ads__pin_promotion_report"}, "model.pinterest_source.stg_pinterest_ads__pin_promotion_report_tmp": {"metadata": {"type": "VIEW", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__pin_promotion_report_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"date": {"type": "text", "index": 1, "name": "date", "comment": null}, "pin_promotion_id": {"type": "bigint", "index": 2, "name": "pin_promotion_id", "comment": null}, "ad_group_id": {"type": "bigint", "index": 3, "name": "ad_group_id", "comment": null}, "campaign_id": {"type": "bigint", "index": 4, "name": "campaign_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 5, "name": "advertiser_id", "comment": null}, "_fivetran_synced": {"type": "text", "index": 6, "name": "_fivetran_synced", "comment": null}, "impression_1": {"type": "integer", "index": 7, "name": "impression_1", "comment": null}, "impression_2": {"type": "integer", "index": 8, "name": "impression_2", "comment": null}, "clickthrough_1": {"type": "integer", "index": 9, "name": "clickthrough_1", "comment": null}, "clickthrough_2": {"type": "integer", "index": 10, "name": "clickthrough_2", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 11, "name": "spend_in_micro_dollar", "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.pinterest_source.stg_pinterest_ads__pin_promotion_report_tmp"}}, "sources": {"source.pinterest_source.pinterest_ads.ad_group_history": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "ad_group_history_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "campaign_id": {"type": "bigint", "index": 2, "name": "campaign_id", "comment": null}, "created_time": {"type": "text", "index": 3, "name": "created_time", "comment": null}, "name": {"type": "text", "index": 4, "name": "name", "comment": null}, "status": {"type": "text", "index": 5, "name": "status", "comment": null}, "start_time": {"type": "text", "index": 6, "name": "start_time", "comment": null}, "end_time": {"type": "integer", "index": 7, "name": "end_time", "comment": null}, "_fivetran_synced": {"type": "text", "index": 8, "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.pinterest_source.pinterest_ads.ad_group_history"}, "source.pinterest_source.pinterest_ads.ad_group_report": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "ad_group_report_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"ad_group_id": {"type": "bigint", "index": 1, "name": "ad_group_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 2, "name": "advertiser_id", "comment": null}, "date": {"type": "timestamp without time zone", "index": 3, "name": "date", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 4, "name": "_fivetran_synced", "comment": null}, "ad_group_name": {"type": "text", "index": 5, "name": "ad_group_name", "comment": null}, "ad_group_status": {"type": "text", "index": 6, "name": "ad_group_status", "comment": null}, "campaign_daily_spend_cap": {"type": "integer", "index": 7, "name": "campaign_daily_spend_cap", "comment": null}, "campaign_id": {"type": "bigint", "index": 8, "name": "campaign_id", "comment": null}, "campaign_lifetime_spend_cap": {"type": "integer", "index": 9, "name": "campaign_lifetime_spend_cap", "comment": null}, "campaign_name": {"type": "text", "index": 10, "name": "campaign_name", "comment": null}, "campaign_status": {"type": "text", "index": 11, "name": "campaign_status", "comment": null}, "clickthrough_1": {"type": "integer", "index": 12, "name": "clickthrough_1", "comment": null}, "clickthrough_1_gross": {"type": "integer", "index": 13, "name": "clickthrough_1_gross", "comment": null}, "cpc_in_micro_dollar": {"type": "double precision", "index": 14, "name": "cpc_in_micro_dollar", "comment": null}, "cpm_in_micro_dollar": {"type": "double precision", "index": 15, "name": "cpm_in_micro_dollar", "comment": null}, "ctr": {"type": "double precision", "index": 16, "name": "ctr", "comment": null}, "ecpc_in_micro_dollar": {"type": "double precision", "index": 17, "name": "ecpc_in_micro_dollar", "comment": null}, "ecpm_in_micro_dollar": {"type": "double precision", "index": 18, "name": "ecpm_in_micro_dollar", "comment": null}, "ectr": {"type": "double precision", "index": 19, "name": "ectr", "comment": null}, "engagement_1": {"type": "integer", "index": 20, "name": "engagement_1", "comment": null}, "impression_1": {"type": "integer", "index": 21, "name": "impression_1", "comment": null}, "impression_1_gross": {"type": "integer", "index": 22, "name": "impression_1_gross", "comment": null}, "outbound_click_1": {"type": "integer", "index": 23, "name": "outbound_click_1", "comment": null}, "paid_impression": {"type": "integer", "index": 24, "name": "paid_impression", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 25, "name": "spend_in_micro_dollar", "comment": null}, "total_engagement": {"type": "integer", "index": 26, "name": "total_engagement", "comment": null}, "total_impression_frequency": {"type": "double precision", "index": 27, "name": "total_impression_frequency", "comment": null}, "total_impression_user": {"type": "integer", "index": 28, "name": "total_impression_user", "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.pinterest_source.pinterest_ads.ad_group_report"}, "source.pinterest_source.pinterest_ads.advertiser_history": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "advertiser_history_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "updated_time": {"type": "timestamp without time zone", "index": 2, "name": "updated_time", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "billing_profile_status": {"type": "text", "index": 4, "name": "billing_profile_status", "comment": null}, "billing_type": {"type": "text", "index": 5, "name": "billing_type", "comment": null}, "country": {"type": "text", "index": 6, "name": "country", "comment": null}, "created_time": {"type": "timestamp without time zone", "index": 7, "name": "created_time", "comment": null}, "currency": {"type": "text", "index": 8, "name": "currency", "comment": null}, "merchant_id": {"type": "integer", "index": 9, "name": "merchant_id", "comment": null}, "name": {"type": "text", "index": 10, "name": "name", "comment": null}, "owner_user_id": {"type": "integer", "index": 11, "name": "owner_user_id", "comment": null}, "status": {"type": "text", "index": 12, "name": "status", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.pinterest_source.pinterest_ads.advertiser_history"}, "source.pinterest_source.pinterest_ads.advertiser_report": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "advertiser_report_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"advertiser_id": {"type": "bigint", "index": 1, "name": "advertiser_id", "comment": null}, "date": {"type": "timestamp without time zone", "index": 2, "name": "date", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "clickthrough_1": {"type": "integer", "index": 4, "name": "clickthrough_1", "comment": null}, "clickthrough_1_gross": {"type": "integer", "index": 5, "name": "clickthrough_1_gross", "comment": null}, "cpc_in_micro_dollar": {"type": "double precision", "index": 6, "name": "cpc_in_micro_dollar", "comment": null}, "cpm_in_micro_dollar": {"type": "double precision", "index": 7, "name": "cpm_in_micro_dollar", "comment": null}, "ctr": {"type": "double precision", "index": 8, "name": "ctr", "comment": null}, "ecpc_in_micro_dollar": {"type": "double precision", "index": 9, "name": "ecpc_in_micro_dollar", "comment": null}, "ecpm_in_micro_dollar": {"type": "double precision", "index": 10, "name": "ecpm_in_micro_dollar", "comment": null}, "ectr": {"type": "double precision", "index": 11, "name": "ectr", "comment": null}, "engagement_1": {"type": "integer", "index": 12, "name": "engagement_1", "comment": null}, "impression_1": {"type": "integer", "index": 13, "name": "impression_1", "comment": null}, "impression_1_gross": {"type": "integer", "index": 14, "name": "impression_1_gross", "comment": null}, "outbound_click_1": {"type": "integer", "index": 15, "name": "outbound_click_1", "comment": null}, "paid_impression": {"type": "integer", "index": 16, "name": "paid_impression", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 17, "name": "spend_in_micro_dollar", "comment": null}, "total_engagement": {"type": "integer", "index": 18, "name": "total_engagement", "comment": null}, "total_impression_frequency": {"type": "double precision", "index": 19, "name": "total_impression_frequency", "comment": null}, "total_impression_user": {"type": "integer", "index": 20, "name": "total_impression_user", "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.pinterest_source.pinterest_ads.advertiser_report"}, "source.pinterest_source.pinterest_ads.campaign_history": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "campaign_history_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "created_time": {"type": "text", "index": 2, "name": "created_time", "comment": null}, "name": {"type": "text", "index": 3, "name": "name", "comment": null}, "status": {"type": "text", "index": 4, "name": "status", "comment": null}, "_fivetran_synced": {"type": "text", "index": 5, "name": "_fivetran_synced", "comment": null}, "advertiser_id": {"type": "bigint", "index": 6, "name": "advertiser_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.pinterest_source.pinterest_ads.campaign_history"}, "source.pinterest_source.pinterest_ads.campaign_report": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "campaign_report_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"advertiser_id": {"type": "bigint", "index": 1, "name": "advertiser_id", "comment": null}, "campaign_id": {"type": "bigint", "index": 2, "name": "campaign_id", "comment": null}, "date": {"type": "timestamp without time zone", "index": 3, "name": "date", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 4, "name": "_fivetran_synced", "comment": null}, "campaign_daily_spend_cap": {"type": "integer", "index": 5, "name": "campaign_daily_spend_cap", "comment": null}, "campaign_lifetime_spend_cap": {"type": "integer", "index": 6, "name": "campaign_lifetime_spend_cap", "comment": null}, "campaign_name": {"type": "text", "index": 7, "name": "campaign_name", "comment": null}, "campaign_status": {"type": "text", "index": 8, "name": "campaign_status", "comment": null}, "clickthrough_1": {"type": "integer", "index": 9, "name": "clickthrough_1", "comment": null}, "clickthrough_1_gross": {"type": "integer", "index": 10, "name": "clickthrough_1_gross", "comment": null}, "cpc_in_micro_dollar": {"type": "double precision", "index": 11, "name": "cpc_in_micro_dollar", "comment": null}, "cpm_in_micro_dollar": {"type": "double precision", "index": 12, "name": "cpm_in_micro_dollar", "comment": null}, "ctr": {"type": "double precision", "index": 13, "name": "ctr", "comment": null}, "ecpc_in_micro_dollar": {"type": "double precision", "index": 14, "name": "ecpc_in_micro_dollar", "comment": null}, "ecpm_in_micro_dollar": {"type": "double precision", "index": 15, "name": "ecpm_in_micro_dollar", "comment": null}, "ectr": {"type": "double precision", "index": 16, "name": "ectr", "comment": null}, "engagement_1": {"type": "integer", "index": 17, "name": "engagement_1", "comment": null}, "impression_1": {"type": "integer", "index": 18, "name": "impression_1", "comment": null}, "impression_1_gross": {"type": "integer", "index": 19, "name": "impression_1_gross", "comment": null}, "outbound_click_1": {"type": "integer", "index": 20, "name": "outbound_click_1", "comment": null}, "paid_impression": {"type": "integer", "index": 21, "name": "paid_impression", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 22, "name": "spend_in_micro_dollar", "comment": null}, "total_engagement": {"type": "integer", "index": 23, "name": "total_engagement", "comment": null}, "total_impression_frequency": {"type": "double precision", "index": 24, "name": "total_impression_frequency", "comment": null}, "total_impression_user": {"type": "integer", "index": 25, "name": "total_impression_user", "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.pinterest_source.pinterest_ads.campaign_report"}, "source.pinterest_source.pinterest_ads.keyword_history": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "keyword_history_data", "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}, "ad_group_id": {"type": "bigint", "index": 3, "name": "ad_group_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 4, "name": "advertiser_id", "comment": null}, "archived": {"type": "boolean", "index": 5, "name": "archived", "comment": null}, "bid": {"type": "integer", "index": 6, "name": "bid", "comment": null}, "campaign_id": {"type": "bigint", "index": 7, "name": "campaign_id", "comment": null}, "id": {"type": "bigint", "index": 8, "name": "id", "comment": null}, "match_type": {"type": "text", "index": 9, "name": "match_type", "comment": null}, "parent_type": {"type": "text", "index": 10, "name": "parent_type", "comment": null}, "value": {"type": "text", "index": 11, "name": "value", "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.pinterest_source.pinterest_ads.keyword_history"}, "source.pinterest_source.pinterest_ads.keyword_report": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "keyword_report_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"ad_group_id": {"type": "bigint", "index": 1, "name": "ad_group_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 2, "name": "advertiser_id", "comment": null}, "campaign_id": {"type": "bigint", "index": 3, "name": "campaign_id", "comment": null}, "date": {"type": "timestamp without time zone", "index": 4, "name": "date", "comment": null}, "keyword_id": {"type": "bigint", "index": 5, "name": "keyword_id", "comment": null}, "pin_id": {"type": "bigint", "index": 6, "name": "pin_id", "comment": null}, "pin_promotion_id": {"type": "bigint", "index": 7, "name": "pin_promotion_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 8, "name": "_fivetran_synced", "comment": null}, "ad_group_name": {"type": "text", "index": 9, "name": "ad_group_name", "comment": null}, "ad_group_status": {"type": "text", "index": 10, "name": "ad_group_status", "comment": null}, "campaign_daily_spend_cap": {"type": "integer", "index": 11, "name": "campaign_daily_spend_cap", "comment": null}, "campaign_lifetime_spend_cap": {"type": "integer", "index": 12, "name": "campaign_lifetime_spend_cap", "comment": null}, "campaign_name": {"type": "text", "index": 13, "name": "campaign_name", "comment": null}, "campaign_status": {"type": "text", "index": 14, "name": "campaign_status", "comment": null}, "clickthrough_1": {"type": "integer", "index": 15, "name": "clickthrough_1", "comment": null}, "clickthrough_1_gross": {"type": "integer", "index": 16, "name": "clickthrough_1_gross", "comment": null}, "cpc_in_micro_dollar": {"type": "integer", "index": 17, "name": "cpc_in_micro_dollar", "comment": null}, "cpm_in_micro_dollar": {"type": "double precision", "index": 18, "name": "cpm_in_micro_dollar", "comment": null}, "ctr": {"type": "integer", "index": 19, "name": "ctr", "comment": null}, "ecpc_in_micro_dollar": {"type": "integer", "index": 20, "name": "ecpc_in_micro_dollar", "comment": null}, "ecpm_in_micro_dollar": {"type": "double precision", "index": 21, "name": "ecpm_in_micro_dollar", "comment": null}, "ectr": {"type": "integer", "index": 22, "name": "ectr", "comment": null}, "engagement_1": {"type": "integer", "index": 23, "name": "engagement_1", "comment": null}, "impression_1": {"type": "integer", "index": 24, "name": "impression_1", "comment": null}, "impression_1_gross": {"type": "integer", "index": 25, "name": "impression_1_gross", "comment": null}, "outbound_click_1": {"type": "integer", "index": 26, "name": "outbound_click_1", "comment": null}, "paid_impression": {"type": "integer", "index": 27, "name": "paid_impression", "comment": null}, "pin_promotion_name": {"type": "text", "index": 28, "name": "pin_promotion_name", "comment": null}, "pin_promotion_status": {"type": "text", "index": 29, "name": "pin_promotion_status", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 30, "name": "spend_in_micro_dollar", "comment": null}, "targeting_type": {"type": "text", "index": 31, "name": "targeting_type", "comment": null}, "targeting_value": {"type": "text", "index": 32, "name": "targeting_value", "comment": null}, "total_engagement": {"type": "integer", "index": 33, "name": "total_engagement", "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.pinterest_source.pinterest_ads.keyword_report"}, "source.pinterest_source.pinterest_ads.pin_promotion_history": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "pin_promotion_history_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "ad_group_id": {"type": "bigint", "index": 2, "name": "ad_group_id", "comment": null}, "created_time": {"type": "text", "index": 3, "name": "created_time", "comment": null}, "destination_url": {"type": "text", "index": 4, "name": "destination_url", "comment": null}, "name": {"type": "text", "index": 5, "name": "name", "comment": null}, "pin_id": {"type": "bigint", "index": 6, "name": "pin_id", "comment": null}, "status": {"type": "text", "index": 7, "name": "status", "comment": null}, "creative_type": {"type": "text", "index": 8, "name": "creative_type", "comment": null}, "_fivetran_synced": {"type": "text", "index": 9, "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.pinterest_source.pinterest_ads.pin_promotion_history"}, "source.pinterest_source.pinterest_ads.pin_promotion_report": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "pin_promotion_report_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"date": {"type": "text", "index": 1, "name": "date", "comment": null}, "pin_promotion_id": {"type": "bigint", "index": 2, "name": "pin_promotion_id", "comment": null}, "ad_group_id": {"type": "bigint", "index": 3, "name": "ad_group_id", "comment": null}, "campaign_id": {"type": "bigint", "index": 4, "name": "campaign_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 5, "name": "advertiser_id", "comment": null}, "_fivetran_synced": {"type": "text", "index": 6, "name": "_fivetran_synced", "comment": null}, "impression_1": {"type": "integer", "index": 7, "name": "impression_1", "comment": null}, "impression_2": {"type": "integer", "index": 8, "name": "impression_2", "comment": null}, "clickthrough_1": {"type": "integer", "index": 9, "name": "clickthrough_1", "comment": null}, "clickthrough_2": {"type": "integer", "index": 10, "name": "clickthrough_2", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 11, "name": "spend_in_micro_dollar", "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.pinterest_source.pinterest_ads.pin_promotion_report"}}, "errors": null} \ No newline at end of file diff --git a/docs/manifest.json b/docs/manifest.json index 4824916..65c34ec 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-06-30T19:28:48.137263Z", "invocation_id": "95030cc3-b499-42bd-89f0-d11773ebc3b0", "env": {}, "project_id": "0c5e93f26aaf82565f2c06106a3cb878", "user_id": "8929baf0-9bc1-477e-9a57-eb8b0db4da62", "send_anonymous_usage_stats": true, "adapter_type": "postgres"}, "nodes": {"seed.pinterest_source_integration_tests.ad_group_report_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", "campaign_id": "bigint", "ad_group_id": "bigint", "pin_id": "bigint", "advertiser_id": "bigint", "pin_promotion_id": "bigint", "keyword_id": "bigint"}, "full_refresh": null, "on_schema_change": "ignore", "quote_columns": true, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "pinterest_source_integration_tests", "fqn": ["pinterest_source_integration_tests", "ad_group_report_data"], "unique_id": "seed.pinterest_source_integration_tests.ad_group_report_data", "package_name": "pinterest_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests", "path": "ad_group_report_data.csv", "original_file_path": "seeds/ad_group_report_data.csv", "name": "ad_group_report_data", "alias": "ad_group_report_data", "checksum": {"name": "sha256", "checksum": "e97c0744fe3e48bcc4f9016c719b37f08e7cf5d2eed93805e0d54678df283662"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type in ('redshift','postgres') else false }}", "column_types": {"id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "ad_group_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "advertiser_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_promotion_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "keyword_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}"}}, "created_at": 1656616677.0921931, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"ad_group_report_data\""}, "seed.pinterest_source_integration_tests.keyword_report_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", "campaign_id": "bigint", "ad_group_id": "bigint", "pin_id": "bigint", "advertiser_id": "bigint", "pin_promotion_id": "bigint", "keyword_id": "bigint"}, "full_refresh": null, "on_schema_change": "ignore", "quote_columns": true, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "pinterest_source_integration_tests", "fqn": ["pinterest_source_integration_tests", "keyword_report_data"], "unique_id": "seed.pinterest_source_integration_tests.keyword_report_data", "package_name": "pinterest_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests", "path": "keyword_report_data.csv", "original_file_path": "seeds/keyword_report_data.csv", "name": "keyword_report_data", "alias": "keyword_report_data", "checksum": {"name": "sha256", "checksum": "1035144a7494a5a018e6a87770e8ee67eb6b98f6e899865c1e7c4b1bfc4b6951"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type in ('redshift','postgres') else false }}", "column_types": {"id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "ad_group_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "advertiser_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_promotion_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "keyword_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}"}}, "created_at": 1656616677.0981388, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"keyword_report_data\""}, "seed.pinterest_source_integration_tests.pin_promotion_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", "campaign_id": "bigint", "ad_group_id": "bigint", "pin_id": "bigint", "advertiser_id": "bigint", "pin_promotion_id": "bigint", "keyword_id": "bigint"}, "full_refresh": null, "on_schema_change": "ignore", "quote_columns": true, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "pinterest_source_integration_tests", "fqn": ["pinterest_source_integration_tests", "pin_promotion_history_data"], "unique_id": "seed.pinterest_source_integration_tests.pin_promotion_history_data", "package_name": "pinterest_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests", "path": "pin_promotion_history_data.csv", "original_file_path": "seeds/pin_promotion_history_data.csv", "name": "pin_promotion_history_data", "alias": "pin_promotion_history_data", "checksum": {"name": "sha256", "checksum": "6b7c5d891ccb02be0c1e126545984964eb4fa226a9d1ae9741ad76288497e338"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type in ('redshift','postgres') else false }}", "column_types": {"id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "ad_group_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "advertiser_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_promotion_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "keyword_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}"}}, "created_at": 1656616677.099158, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"pin_promotion_history_data\""}, "seed.pinterest_source_integration_tests.advertiser_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", "campaign_id": "bigint", "ad_group_id": "bigint", "pin_id": "bigint", "advertiser_id": "bigint", "pin_promotion_id": "bigint", "keyword_id": "bigint"}, "full_refresh": null, "on_schema_change": "ignore", "quote_columns": true, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "pinterest_source_integration_tests", "fqn": ["pinterest_source_integration_tests", "advertiser_history_data"], "unique_id": "seed.pinterest_source_integration_tests.advertiser_history_data", "package_name": "pinterest_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests", "path": "advertiser_history_data.csv", "original_file_path": "seeds/advertiser_history_data.csv", "name": "advertiser_history_data", "alias": "advertiser_history_data", "checksum": {"name": "sha256", "checksum": "a1efd698a39cc0a75b74b43b84d114eddf6eaac9d3dd7d2a06e704951c091fe4"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type in ('redshift','postgres') else false }}", "column_types": {"id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "ad_group_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "advertiser_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_promotion_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "keyword_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}"}}, "created_at": 1656616677.100209, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"advertiser_history_data\""}, "seed.pinterest_source_integration_tests.advertiser_report_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", "campaign_id": "bigint", "ad_group_id": "bigint", "pin_id": "bigint", "advertiser_id": "bigint", "pin_promotion_id": "bigint", "keyword_id": "bigint"}, "full_refresh": null, "on_schema_change": "ignore", "quote_columns": true, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "pinterest_source_integration_tests", "fqn": ["pinterest_source_integration_tests", "advertiser_report_data"], "unique_id": "seed.pinterest_source_integration_tests.advertiser_report_data", "package_name": "pinterest_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests", "path": "advertiser_report_data.csv", "original_file_path": "seeds/advertiser_report_data.csv", "name": "advertiser_report_data", "alias": "advertiser_report_data", "checksum": {"name": "sha256", "checksum": "1c259e5a0e32230a041a13947432b02764f30f9a7aa245893c63a386fb2ee60e"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type in ('redshift','postgres') else false }}", "column_types": {"id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "ad_group_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "advertiser_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_promotion_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "keyword_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}"}}, "created_at": 1656616677.1013708, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"advertiser_report_data\""}, "seed.pinterest_source_integration_tests.ad_group_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", "campaign_id": "bigint", "ad_group_id": "bigint", "pin_id": "bigint", "advertiser_id": "bigint", "pin_promotion_id": "bigint", "keyword_id": "bigint"}, "full_refresh": null, "on_schema_change": "ignore", "quote_columns": true, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "pinterest_source_integration_tests", "fqn": ["pinterest_source_integration_tests", "ad_group_history_data"], "unique_id": "seed.pinterest_source_integration_tests.ad_group_history_data", "package_name": "pinterest_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests", "path": "ad_group_history_data.csv", "original_file_path": "seeds/ad_group_history_data.csv", "name": "ad_group_history_data", "alias": "ad_group_history_data", "checksum": {"name": "sha256", "checksum": "ff76dce5a5b57b38a03bfc295838b9f05e99e3e310066ac3fc96f7c78e3b6be8"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type in ('redshift','postgres') else false }}", "column_types": {"id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "ad_group_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "advertiser_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_promotion_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "keyword_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}"}}, "created_at": 1656616677.102331, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"ad_group_history_data\""}, "seed.pinterest_source_integration_tests.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", "campaign_id": "bigint", "ad_group_id": "bigint", "pin_id": "bigint", "advertiser_id": "bigint", "pin_promotion_id": "bigint", "keyword_id": "bigint"}, "full_refresh": null, "on_schema_change": "ignore", "quote_columns": true, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "pinterest_source_integration_tests", "fqn": ["pinterest_source_integration_tests", "campaign_history_data"], "unique_id": "seed.pinterest_source_integration_tests.campaign_history_data", "package_name": "pinterest_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests", "path": "campaign_history_data.csv", "original_file_path": "seeds/campaign_history_data.csv", "name": "campaign_history_data", "alias": "campaign_history_data", "checksum": {"name": "sha256", "checksum": "cead5146f8bd80ba181f2ee8b34a38c6622f11d48768ff15f84b879cc5d9a4de"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type in ('redshift','postgres') else false }}", "column_types": {"id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "ad_group_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "advertiser_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_promotion_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "keyword_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}"}}, "created_at": 1656616677.103292, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"campaign_history_data\""}, "seed.pinterest_source_integration_tests.campaign_report_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", "campaign_id": "bigint", "ad_group_id": "bigint", "pin_id": "bigint", "advertiser_id": "bigint", "pin_promotion_id": "bigint", "keyword_id": "bigint"}, "full_refresh": null, "on_schema_change": "ignore", "quote_columns": true, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "pinterest_source_integration_tests", "fqn": ["pinterest_source_integration_tests", "campaign_report_data"], "unique_id": "seed.pinterest_source_integration_tests.campaign_report_data", "package_name": "pinterest_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests", "path": "campaign_report_data.csv", "original_file_path": "seeds/campaign_report_data.csv", "name": "campaign_report_data", "alias": "campaign_report_data", "checksum": {"name": "sha256", "checksum": "b13c07bb0eabe3bb01f21e3a9ca46d6d549a7ae56668fd3c3bc69ba033586638"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type in ('redshift','postgres') else false }}", "column_types": {"id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "ad_group_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "advertiser_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_promotion_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "keyword_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}"}}, "created_at": 1656616677.104272, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"campaign_report_data\""}, "seed.pinterest_source_integration_tests.keyword_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", "campaign_id": "bigint", "ad_group_id": "bigint", "pin_id": "bigint", "advertiser_id": "bigint", "pin_promotion_id": "bigint", "keyword_id": "bigint"}, "full_refresh": null, "on_schema_change": "ignore", "quote_columns": true, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "pinterest_source_integration_tests", "fqn": ["pinterest_source_integration_tests", "keyword_history_data"], "unique_id": "seed.pinterest_source_integration_tests.keyword_history_data", "package_name": "pinterest_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests", "path": "keyword_history_data.csv", "original_file_path": "seeds/keyword_history_data.csv", "name": "keyword_history_data", "alias": "keyword_history_data", "checksum": {"name": "sha256", "checksum": "589c187cfa8845b5851700d6e10128a158fe860a55a4f4de7f83b1e92226bc9e"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type in ('redshift','postgres') else false }}", "column_types": {"id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "ad_group_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "advertiser_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_promotion_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "keyword_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}"}}, "created_at": 1656616677.105731, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"keyword_history_data\""}, "seed.pinterest_source_integration_tests.pin_promotion_report_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", "campaign_id": "bigint", "ad_group_id": "bigint", "pin_id": "bigint", "advertiser_id": "bigint", "pin_promotion_id": "bigint", "keyword_id": "bigint"}, "full_refresh": null, "on_schema_change": "ignore", "quote_columns": true, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "pinterest_source_integration_tests", "fqn": ["pinterest_source_integration_tests", "pin_promotion_report_data"], "unique_id": "seed.pinterest_source_integration_tests.pin_promotion_report_data", "package_name": "pinterest_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests", "path": "pin_promotion_report_data.csv", "original_file_path": "seeds/pin_promotion_report_data.csv", "name": "pin_promotion_report_data", "alias": "pin_promotion_report_data", "checksum": {"name": "sha256", "checksum": "925cc6b85b3db0a72f4b6caba706aca609a276e4c71786a651c0294b2cd6ad35"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type in ('redshift','postgres') else false }}", "column_types": {"id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "ad_group_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "advertiser_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_promotion_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "keyword_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}"}}, "created_at": 1656616677.106726, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"pin_promotion_report_data\""}, "model.pinterest_source.stg_pinterest_ads__keyword_report": {"raw_sql": "with base as (\n\n select * \n from {{ ref('stg_pinterest_ads__keyword_report_tmp') }}\n),\n\nfields as (\n\n select\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_pinterest_ads__keyword_report_tmp')),\n staging_columns=get_keyword_report_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select\n date as date_day,\n keyword_id,\n pin_promotion_id,\n ad_group_id,\n ad_group_name,\n ad_group_status,\n campaign_id,\n advertiser_id,\n _fivetran_synced,\n coalesce(impression_1,0) + coalesce(impression_2,0) as impressions,\n coalesce(clickthrough_1,0) + coalesce(clickthrough_2,0) as clicks,\n spend_in_micro_dollar / 1000000.0 as spend\n\n {% for metric in var('pinterest__keyword_report_passthrough_metrics',[]) %}\n , {{ metric }}\n {% endfor %}\n\n from fields\n)\n\nselect *\nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.pinterest_source.get_keyword_report_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.pinterest_source.stg_pinterest_ads__keyword_report_tmp", "model.pinterest_source.stg_pinterest_ads__keyword_report_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "stg_pinterest_ads__keyword_report"], "unique_id": "model.pinterest_source.stg_pinterest_ads__keyword_report", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "stg_pinterest_ads__keyword_report.sql", "original_file_path": "models/stg_pinterest_ads__keyword_report.sql", "name": "stg_pinterest_ads__keyword_report", "alias": "stg_pinterest_ads__keyword_report", "checksum": {"name": "sha256", "checksum": "eae25ceb0443dd7893e97ad960356a12b50bd7d84f25ce57fa726c984efb6bcc"}, "tags": [], "refs": [["stg_pinterest_ads__keyword_report_tmp"], ["stg_pinterest_ads__keyword_report_tmp"]], "sources": [], "description": "Each record represents the daily performance of Keywords.", "columns": {"date_day": {"name": "date_day", "description": "The performance date of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "keyword_id": {"name": "keyword_id", "description": "Unique identifier of the keyword.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "pin_promotion_id": {"name": "pin_promotion_id", "description": "The ID of the related Pin promotion.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_id": {"name": "ad_group_id", "description": "The ID of the related Ad group.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_name": {"name": "ad_group_name", "description": "Name of the ad group.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_status": {"name": "ad_group_status", "description": "Status of the ad group.", "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": []}, "advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impressions": {"name": "impressions", "description": "The number of impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clicks": {"name": "clicks", "description": "The number of clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend": {"name": "spend", "description": "The amount of spend that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "pinterest_source://models/stg_pinterest_ads.yml", "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads__keyword_report.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "table"}, "created_at": 1656616677.3245592, "compiled_sql": "with base as (\n\n select * \n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__keyword_report_tmp\"\n),\n\nfields as (\n\n select\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n ad_group_id\n \n as \n \n ad_group_id\n \n, \n \n \n ad_group_name\n \n as \n \n ad_group_name\n \n, \n \n \n ad_group_status\n \n as \n \n ad_group_status\n \n, \n \n \n advertiser_id\n \n as \n \n advertiser_id\n \n, \n \n \n campaign_id\n \n as \n \n campaign_id\n \n, \n \n \n clickthrough_1\n \n as \n \n clickthrough_1\n \n, \n cast(null as \n int\n) as \n \n clickthrough_2\n \n , \n \n \n date\n \n as \n \n date\n \n, \n \n \n impression_1\n \n as \n \n impression_1\n \n, \n cast(null as \n int\n) as \n \n impression_2\n \n , \n \n \n keyword_id\n \n as \n \n keyword_id\n \n, \n \n \n pin_promotion_id\n \n as \n \n pin_promotion_id\n \n, \n \n \n spend_in_micro_dollar\n \n as \n \n spend_in_micro_dollar\n \n\n\n\n from base\n),\n\nfinal as (\n \n select\n date as date_day,\n keyword_id,\n pin_promotion_id,\n ad_group_id,\n ad_group_name,\n ad_group_status,\n campaign_id,\n advertiser_id,\n _fivetran_synced,\n coalesce(impression_1,0) + coalesce(impression_2,0) as impressions,\n coalesce(clickthrough_1,0) + coalesce(clickthrough_2,0) as clicks,\n spend_in_micro_dollar / 1000000.0 as spend\n\n \n\n from fields\n)\n\nselect *\nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__keyword_report\""}, "model.pinterest_source.stg_pinterest_ads__ad_group_report": {"raw_sql": "with base as (\n\n select * \n from {{ ref('stg_pinterest_ads__ad_group_report_tmp') }}\n),\n\nfields as (\n\n select\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_pinterest_ads__ad_group_report_tmp')),\n staging_columns=get_ad_group_report_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select \n date as date_day,\n ad_group_id,\n ad_group_name,\n ad_group_status,\n campaign_id,\n advertiser_id,\n _fivetran_synced,\n coalesce(impression_1,0) + coalesce(impression_2,0) as impressions,\n coalesce(clickthrough_1,0) + coalesce(clickthrough_2,0) as clicks,\n spend_in_micro_dollar / 1000000.0 as spend\n\n {% for metric in var('pinterest__ad_group_report_passthrough_metrics',[]) %}\n , {{ metric }}\n {% endfor %}\n\n from fields\n)\n\nselect *\nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.pinterest_source.get_ad_group_report_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.pinterest_source.stg_pinterest_ads__ad_group_report_tmp", "model.pinterest_source.stg_pinterest_ads__ad_group_report_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "stg_pinterest_ads__ad_group_report"], "unique_id": "model.pinterest_source.stg_pinterest_ads__ad_group_report", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "stg_pinterest_ads__ad_group_report.sql", "original_file_path": "models/stg_pinterest_ads__ad_group_report.sql", "name": "stg_pinterest_ads__ad_group_report", "alias": "stg_pinterest_ads__ad_group_report", "checksum": {"name": "sha256", "checksum": "a1988f317cfd1fc918ea6590be28581a9cb169ecfef2005742229a3d685f0f6b"}, "tags": [], "refs": [["stg_pinterest_ads__ad_group_report_tmp"], ["stg_pinterest_ads__ad_group_report_tmp"]], "sources": [], "description": "Each record represents the daily performance of a Pinterest Ad Groups.", "columns": {"date_day": {"name": "date_day", "description": "The performance date of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_id": {"name": "ad_group_id", "description": "The ID of the related Ad group.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_name": {"name": "ad_group_name", "description": "Name of the ad group.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_status": {"name": "ad_group_status", "description": "Status of the ad group.", "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": []}, "advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impressions": {"name": "impressions", "description": "The number of impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clicks": {"name": "clicks", "description": "The number of clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend": {"name": "spend", "description": "The amount of spend that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "pinterest_source://models/stg_pinterest_ads.yml", "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads__ad_group_report.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "table"}, "created_at": 1656616677.315252, "compiled_sql": "with base as (\n\n select * \n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__ad_group_report_tmp\"\n),\n\nfields as (\n\n select\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n ad_group_id\n \n as \n \n ad_group_id\n \n, \n \n \n ad_group_name\n \n as \n \n ad_group_name\n \n, \n \n \n ad_group_status\n \n as \n \n ad_group_status\n \n, \n \n \n advertiser_id\n \n as \n \n advertiser_id\n \n, \n \n \n campaign_id\n \n as \n \n campaign_id\n \n, \n \n \n clickthrough_1\n \n as \n \n clickthrough_1\n \n, \n cast(null as \n int\n) as \n \n clickthrough_2\n \n , \n \n \n date\n \n as \n \n date\n \n, \n \n \n impression_1\n \n as \n \n impression_1\n \n, \n cast(null as \n int\n) as \n \n impression_2\n \n , \n \n \n spend_in_micro_dollar\n \n as \n \n spend_in_micro_dollar\n \n\n\n\n from base\n),\n\nfinal as (\n \n select \n date as date_day,\n ad_group_id,\n ad_group_name,\n ad_group_status,\n campaign_id,\n advertiser_id,\n _fivetran_synced,\n coalesce(impression_1,0) + coalesce(impression_2,0) as impressions,\n coalesce(clickthrough_1,0) + coalesce(clickthrough_2,0) as clicks,\n spend_in_micro_dollar / 1000000.0 as spend\n\n \n\n from fields\n)\n\nselect *\nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__ad_group_report\""}, "model.pinterest_source.stg_pinterest_ads__advertiser_report": {"raw_sql": "with base as (\n\n select * \n from {{ ref('stg_pinterest_ads__advertiser_report_tmp') }}\n),\n\nfields as (\n\n select\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_pinterest_ads__advertiser_report_tmp')),\n staging_columns=get_advertiser_report_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select \n date as date_day,\n advertiser_id,\n _fivetran_synced,\n coalesce(impression_1,0) + coalesce(impression_2,0) as impressions,\n coalesce(clickthrough_1,0) + coalesce(clickthrough_2,0) as clicks,\n spend_in_micro_dollar / 1000000.0 as spend\n\n {% for metric in var('pinterest__advertiser_report_passthrough_metrics',[]) %}\n , {{ metric }}\n {% endfor %}\n\n from fields\n)\n\nselect *\nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.pinterest_source.get_advertiser_report_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.pinterest_source.stg_pinterest_ads__advertiser_report_tmp", "model.pinterest_source.stg_pinterest_ads__advertiser_report_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "stg_pinterest_ads__advertiser_report"], "unique_id": "model.pinterest_source.stg_pinterest_ads__advertiser_report", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "stg_pinterest_ads__advertiser_report.sql", "original_file_path": "models/stg_pinterest_ads__advertiser_report.sql", "name": "stg_pinterest_ads__advertiser_report", "alias": "stg_pinterest_ads__advertiser_report", "checksum": {"name": "sha256", "checksum": "00f1298fed5bfaba91fc3c7bfb8706e29fd9b02ddc3223a8b2957cdc9d6cdd08"}, "tags": [], "refs": [["stg_pinterest_ads__advertiser_report_tmp"], ["stg_pinterest_ads__advertiser_report_tmp"]], "sources": [], "description": "Each record represents the daily performance of an Advertiser.", "columns": {"date_day": {"name": "date_day", "description": "The performance date of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impressions": {"name": "impressions", "description": "The number of impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clicks": {"name": "clicks", "description": "The number of clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend": {"name": "spend", "description": "The amount of spend that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "pinterest_source://models/stg_pinterest_ads.yml", "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads__advertiser_report.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "table"}, "created_at": 1656616677.3181891, "compiled_sql": "with base as (\n\n select * \n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__advertiser_report_tmp\"\n),\n\nfields as (\n\n select\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n advertiser_id\n \n as \n \n advertiser_id\n \n, \n \n \n clickthrough_1\n \n as \n \n clickthrough_1\n \n, \n cast(null as \n int\n) as \n \n clickthrough_2\n \n , \n \n \n date\n \n as \n \n date\n \n, \n \n \n impression_1\n \n as \n \n impression_1\n \n, \n cast(null as \n int\n) as \n \n impression_2\n \n , \n \n \n spend_in_micro_dollar\n \n as \n \n spend_in_micro_dollar\n \n\n\n\n from base\n),\n\nfinal as (\n \n select \n date as date_day,\n advertiser_id,\n _fivetran_synced,\n coalesce(impression_1,0) + coalesce(impression_2,0) as impressions,\n coalesce(clickthrough_1,0) + coalesce(clickthrough_2,0) as clicks,\n spend_in_micro_dollar / 1000000.0 as spend\n\n \n\n from fields\n)\n\nselect *\nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__advertiser_report\""}, "model.pinterest_source.stg_pinterest_ads__advertiser_history": {"raw_sql": "with base as (\n\n select * \n from {{ ref('stg_pinterest_ads__advertiser_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_pinterest_ads__advertiser_history_tmp')),\n staging_columns=get_advertiser_history_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select \n id as advertiser_id,\n name as advertiser_name,\n status as advertiser_status,\n billing_profile_status,\n billing_type,\n country,\n created_time as created_at,\n currency,\n merchant_id,\n owner_user_id,\n updated_time as updated_at,\n _fivetran_synced\n from fields\n),\n\nmost_recent as (\n select\n *,\n row_number() over (partition by advertiser_id order by updated_at desc) = 1 as is_most_recent_record\n from final\n\n)\n\nselect *\nfrom most_recent", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.pinterest_source.get_advertiser_history_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.pinterest_source.stg_pinterest_ads__advertiser_history_tmp", "model.pinterest_source.stg_pinterest_ads__advertiser_history_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "stg_pinterest_ads__advertiser_history"], "unique_id": "model.pinterest_source.stg_pinterest_ads__advertiser_history", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "stg_pinterest_ads__advertiser_history.sql", "original_file_path": "models/stg_pinterest_ads__advertiser_history.sql", "name": "stg_pinterest_ads__advertiser_history", "alias": "stg_pinterest_ads__advertiser_history", "checksum": {"name": "sha256", "checksum": "f627fa7b9a85a35774e9808ad74bb158e7d26baf69e7b1cf1c5ba49748fb8a98"}, "tags": [], "refs": [["stg_pinterest_ads__advertiser_history_tmp"], ["stg_pinterest_ads__advertiser_history_tmp"]], "sources": [], "description": "Each record represents a version of an advertiser.", "columns": {"advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "advertiser_name": {"name": "advertiser_name", "description": "Name of the advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "advertiser_status": {"name": "advertiser_status", "description": "Status of the advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "billing_profile_status": {"name": "billing_profile_status", "description": "Status of the billing profile.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "billing_type": {"name": "billing_type", "description": "The billing type of the advertiser. Will typically be CREDIT_CARD or INVOICE.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "country": {"name": "country", "description": "The country code where the advertiser is located.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "created_at": {"name": "created_at", "description": "Timestamp of when a record was created.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "currency": {"name": "currency", "description": "The currency code which the a", "meta": {}, "data_type": null, "quote": null, "tags": []}, "merchant_id": {"name": "merchant_id", "description": "Unique ID of the merchant associated with the advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "owner_user_id": {"name": "owner_user_id", "description": "Unique identifier of the owner user.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "updated_at": {"name": "updated_at", "description": "Timestamp of when a record was last updated.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "is_most_recent_record": {"name": "is_most_recent_record", "description": "Boolean representing whether the record is the most recent version of the object.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "pinterest_source://models/stg_pinterest_ads.yml", "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads__advertiser_history.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "table"}, "created_at": 1656616677.317201, "compiled_sql": "with base as (\n\n select * \n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__advertiser_history_tmp\"\n),\n\nfields as (\n\n select\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n billing_profile_status\n \n as \n \n billing_profile_status\n \n, \n \n \n billing_type\n \n as \n \n billing_type\n \n, \n \n \n country\n \n as \n \n country\n \n, \n \n \n created_time\n \n as \n \n created_time\n \n, \n \n \n currency\n \n as \n \n currency\n \n, \n \n \n id\n \n as \n \n id\n \n, \n \n \n merchant_id\n \n as \n \n merchant_id\n \n, \n \n \n name\n \n as \n \n name\n \n, \n \n \n owner_user_id\n \n as \n \n owner_user_id\n \n, \n \n \n status\n \n as \n \n status\n \n, \n \n \n updated_time\n \n as \n \n updated_time\n \n\n\n\n from base\n),\n\nfinal as (\n \n select \n id as advertiser_id,\n name as advertiser_name,\n status as advertiser_status,\n billing_profile_status,\n billing_type,\n country,\n created_time as created_at,\n currency,\n merchant_id,\n owner_user_id,\n updated_time as updated_at,\n _fivetran_synced\n from fields\n),\n\nmost_recent as (\n select\n *,\n row_number() over (partition by advertiser_id order by updated_at desc) = 1 as is_most_recent_record\n from final\n\n)\n\nselect *\nfrom most_recent", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__advertiser_history\""}, "model.pinterest_source.stg_pinterest_ads__campaign_report": {"raw_sql": "with base as (\n\n select * \n from {{ ref('stg_pinterest_ads__campaign_report_tmp') }}\n),\n\nfields as (\n\n select\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_pinterest_ads__campaign_report_tmp')),\n staging_columns=get_campaign_report_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select \n date as date_day,\n campaign_id,\n campaign_name,\n campaign_status,\n advertiser_id,\n _fivetran_synced,\n coalesce(impression_1,0) + coalesce(impression_2,0) as impressions,\n coalesce(clickthrough_1,0) + coalesce(clickthrough_2,0) as clicks,\n spend_in_micro_dollar / 1000000.0 as spend\n\n {% for metric in var('pinterest__campaign_report_passthrough_metrics',[]) %}\n , {{ metric }}\n {% endfor %}\n\n from fields\n)\n\nselect *\nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.pinterest_source.get_campaign_report_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.pinterest_source.stg_pinterest_ads__campaign_report_tmp", "model.pinterest_source.stg_pinterest_ads__campaign_report_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "stg_pinterest_ads__campaign_report"], "unique_id": "model.pinterest_source.stg_pinterest_ads__campaign_report", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "stg_pinterest_ads__campaign_report.sql", "original_file_path": "models/stg_pinterest_ads__campaign_report.sql", "name": "stg_pinterest_ads__campaign_report", "alias": "stg_pinterest_ads__campaign_report", "checksum": {"name": "sha256", "checksum": "b899813e905096e91f44ca3d1f6f138cca698dc5185f5cdc7c52e443d0e395be"}, "tags": [], "refs": [["stg_pinterest_ads__campaign_report_tmp"], ["stg_pinterest_ads__campaign_report_tmp"]], "sources": [], "description": "Each record represents the daily performance of Campaigns.", "columns": {"date_day": {"name": "date_day", "description": "The performance date of the record.", "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": "Name of the campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_status": {"name": "campaign_status", "description": "Status of the campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impressions": {"name": "impressions", "description": "The number of impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clicks": {"name": "clicks", "description": "The number of clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend": {"name": "spend", "description": "The amount of spend that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "pinterest_source://models/stg_pinterest_ads.yml", "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads__campaign_report.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "table"}, "created_at": 1656616677.3203478, "compiled_sql": "with base as (\n\n select * \n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__campaign_report_tmp\"\n),\n\nfields as (\n\n select\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n advertiser_id\n \n as \n \n advertiser_id\n \n, \n \n \n campaign_id\n \n as \n \n campaign_id\n \n, \n \n \n campaign_name\n \n as \n \n campaign_name\n \n, \n \n \n campaign_status\n \n as \n \n campaign_status\n \n, \n \n \n clickthrough_1\n \n as \n \n clickthrough_1\n \n, \n cast(null as \n int\n) as \n \n clickthrough_2\n \n , \n \n \n date\n \n as \n \n date\n \n, \n \n \n impression_1\n \n as \n \n impression_1\n \n, \n cast(null as \n int\n) as \n \n impression_2\n \n , \n \n \n spend_in_micro_dollar\n \n as \n \n spend_in_micro_dollar\n \n\n\n\n from base\n),\n\nfinal as (\n \n select \n date as date_day,\n campaign_id,\n campaign_name,\n campaign_status,\n advertiser_id,\n _fivetran_synced,\n coalesce(impression_1,0) + coalesce(impression_2,0) as impressions,\n coalesce(clickthrough_1,0) + coalesce(clickthrough_2,0) as clicks,\n spend_in_micro_dollar / 1000000.0 as spend\n\n \n\n from fields\n)\n\nselect *\nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__campaign_report\""}, "model.pinterest_source.stg_pinterest_ads__keyword_history": {"raw_sql": "with base as (\n\n select * \n from {{ ref('stg_pinterest_ads__keyword_history_tmp') }}\n),\n\nfields as (\n\n select\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_pinterest_ads__keyword_history_tmp')),\n staging_columns=get_keyword_history_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select\n id as keyword_id,\n value as keyword_value,\n _fivetran_id,\n _fivetran_synced,\n ad_group_id,\n advertiser_id,\n archived,\n bid,\n campaign_id,\n match_type,\n parent_type\n from fields\n),\n\nmost_recent as (\n select\n *,\n row_number() over (partition by keyword_id order by _fivetran_synced desc) = 1 as is_most_recent_record\n from final\n)\n\nselect *\nfrom most_recent", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.pinterest_source.get_keyword_history_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.pinterest_source.stg_pinterest_ads__keyword_history_tmp", "model.pinterest_source.stg_pinterest_ads__keyword_history_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "stg_pinterest_ads__keyword_history"], "unique_id": "model.pinterest_source.stg_pinterest_ads__keyword_history", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "stg_pinterest_ads__keyword_history.sql", "original_file_path": "models/stg_pinterest_ads__keyword_history.sql", "name": "stg_pinterest_ads__keyword_history", "alias": "stg_pinterest_ads__keyword_history", "checksum": {"name": "sha256", "checksum": "699cd5961a1e73f18759bc85f569a503a381173579b2aa02bc27e1e8ae33fefd"}, "tags": [], "refs": [["stg_pinterest_ads__keyword_history_tmp"], ["stg_pinterest_ads__keyword_history_tmp"]], "sources": [], "description": "Each record represents the daily performance of a Keyword.", "columns": {"keyword_id": {"name": "keyword_id", "description": "Unique identifier of the keyword.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "keyword_value": {"name": "keyword_value", "description": "The text value that makes upd the keyword.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_id": {"name": "_fivetran_id", "description": "The unique identifier of the record within the Fivetran synced table.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_id": {"name": "ad_group_id", "description": "The ID of the related Ad group.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "archived": {"name": "archived", "description": "Boolean indicating if the keyword is archived.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "bid": {"name": "bid", "description": "Bid amount set for the keyword.", "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": []}, "match_type": {"name": "match_type", "description": "Type of match the keyword is tied to. Either Exact or Broad.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "parent_type": {"name": "parent_type", "description": "Identifier of what grain the parent type is. Ad group or campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "is_most_recent_record": {"name": "is_most_recent_record", "description": "Boolean representing whether the record is the most recent version of the object.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "pinterest_source://models/stg_pinterest_ads.yml", "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads__keyword_history.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "table"}, "created_at": 1656616677.3228002, "compiled_sql": "with base as (\n\n select * \n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__keyword_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 ad_group_id\n \n as \n \n ad_group_id\n \n, \n \n \n advertiser_id\n \n as \n \n advertiser_id\n \n, \n \n \n archived\n \n as \n \n archived\n \n, \n \n \n bid\n \n as \n \n bid\n \n, \n \n \n campaign_id\n \n as \n \n campaign_id\n \n, \n \n \n id\n \n as \n \n id\n \n, \n \n \n match_type\n \n as \n \n match_type\n \n, \n \n \n parent_type\n \n as \n \n parent_type\n \n, \n \n \n value\n \n as \n \n value\n \n\n\n\n from base\n),\n\nfinal as (\n \n select\n id as keyword_id,\n value as keyword_value,\n _fivetran_id,\n _fivetran_synced,\n ad_group_id,\n advertiser_id,\n archived,\n bid,\n campaign_id,\n match_type,\n parent_type\n from fields\n),\n\nmost_recent as (\n select\n *,\n row_number() over (partition by keyword_id order by _fivetran_synced desc) = 1 as is_most_recent_record\n from final\n)\n\nselect *\nfrom most_recent", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__keyword_history\""}, "model.pinterest_source.stg_pinterest_ads__pin_promotion_report": {"raw_sql": "with base as (\n\n select *\n from {{ ref('stg_pinterest_ads__pin_promotion_report_tmp') }}\n), \n\nfields as (\n\n select\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_pinterest_ads__pin_promotion_report_tmp')),\n staging_columns=get_pin_promotion_report_columns()\n )\n }}\n from base\n), \n\nfinal as (\n\n select \n date as date_day,\n pin_promotion_id,\n ad_group_id,\n campaign_id,\n advertiser_id,\n _fivetran_synced,\n coalesce(impression_1,0) + coalesce(impression_2,0) as impressions,\n coalesce(clickthrough_1,0) + coalesce(clickthrough_2,0) as clicks,\n spend_in_micro_dollar / 1000000.0 as spend\n\n {% for metric in var('pinterest__pin_promotion_report_passthrough_metrics',[]) %}\n , {{ metric }}\n {% endfor %}\n\n from fields\n)\n\nselect *\nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.pinterest_source.get_pin_promotion_report_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_report_tmp", "model.pinterest_source.stg_pinterest_ads__pin_promotion_report_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "stg_pinterest_ads__pin_promotion_report"], "unique_id": "model.pinterest_source.stg_pinterest_ads__pin_promotion_report", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "stg_pinterest_ads__pin_promotion_report.sql", "original_file_path": "models/stg_pinterest_ads__pin_promotion_report.sql", "name": "stg_pinterest_ads__pin_promotion_report", "alias": "stg_pinterest_ads__pin_promotion_report", "checksum": {"name": "sha256", "checksum": "e0222fd677275d81b0f58343ffc12df5e78b733fb0d10634ee28633ffccfeaee"}, "tags": [], "refs": [["stg_pinterest_ads__pin_promotion_report_tmp"], ["stg_pinterest_ads__pin_promotion_report_tmp"]], "sources": [], "description": "Each record represents the daily performance of a Pinterest Pin promotion.", "columns": {"date_day": {"name": "date_day", "description": "The performance date of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "pin_promotion_id": {"name": "pin_promotion_id", "description": "The ID of the related Pin promotion.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_id": {"name": "ad_group_id", "description": "The ID of the related Ad group.", "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": []}, "advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impressions": {"name": "impressions", "description": "The number of impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clicks": {"name": "clicks", "description": "The number of clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend": {"name": "spend", "description": "The amount of spend that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "pinterest_source://models/stg_pinterest_ads.yml", "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads__pin_promotion_report.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "table"}, "created_at": 1656616677.31354, "compiled_sql": "with base as (\n\n select *\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__pin_promotion_report_tmp\"\n), \n\nfields as (\n\n select\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n ad_group_id\n \n as \n \n ad_group_id\n \n, \n \n \n advertiser_id\n \n as \n \n advertiser_id\n \n, \n \n \n campaign_id\n \n as \n \n campaign_id\n \n, \n \n \n clickthrough_1\n \n as \n \n clickthrough_1\n \n, \n \n \n clickthrough_2\n \n as \n \n clickthrough_2\n \n, \n \n \n date\n \n as \n \n date\n \n, \n \n \n impression_1\n \n as \n \n impression_1\n \n, \n \n \n impression_2\n \n as \n \n impression_2\n \n, \n \n \n pin_promotion_id\n \n as \n \n pin_promotion_id\n \n, \n \n \n spend_in_micro_dollar\n \n as \n \n spend_in_micro_dollar\n \n\n\n\n from base\n), \n\nfinal as (\n\n select \n date as date_day,\n pin_promotion_id,\n ad_group_id,\n campaign_id,\n advertiser_id,\n _fivetran_synced,\n coalesce(impression_1,0) + coalesce(impression_2,0) as impressions,\n coalesce(clickthrough_1,0) + coalesce(clickthrough_2,0) as clicks,\n spend_in_micro_dollar / 1000000.0 as spend\n\n \n\n from fields\n)\n\nselect *\nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__pin_promotion_report\""}, "model.pinterest_source.stg_pinterest_ads__advertiser_history_tmp": {"raw_sql": "select * \nfrom {{ var('advertiser_history') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.pinterest_source.pinterest_ads.advertiser_history"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "tmp", "stg_pinterest_ads__advertiser_history_tmp"], "unique_id": "model.pinterest_source.stg_pinterest_ads__advertiser_history_tmp", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "tmp/stg_pinterest_ads__advertiser_history_tmp.sql", "original_file_path": "models/tmp/stg_pinterest_ads__advertiser_history_tmp.sql", "name": "stg_pinterest_ads__advertiser_history_tmp", "alias": "stg_pinterest_ads__advertiser_history_tmp", "checksum": {"name": "sha256", "checksum": "60dc1039a40b4fd101ac71b52584219ef441b8f3231fab7270a1725731849343"}, "tags": [], "refs": [], "sources": [["pinterest_ads", "advertiser_history"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/tmp/stg_pinterest_ads__advertiser_history_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "view"}, "created_at": 1656616677.238901, "compiled_sql": "select * \nfrom \"postgres\".\"pinterest_source_integration_tests\".\"advertiser_history_data\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__advertiser_history_tmp\""}, "model.pinterest_source.stg_pinterest_ads__pin_promotion_report_tmp": {"raw_sql": "select *\nfrom {{ var('pin_promotion_report') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.pinterest_source.pinterest_ads.pin_promotion_report"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "tmp", "stg_pinterest_ads__pin_promotion_report_tmp"], "unique_id": "model.pinterest_source.stg_pinterest_ads__pin_promotion_report_tmp", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "tmp/stg_pinterest_ads__pin_promotion_report_tmp.sql", "original_file_path": "models/tmp/stg_pinterest_ads__pin_promotion_report_tmp.sql", "name": "stg_pinterest_ads__pin_promotion_report_tmp", "alias": "stg_pinterest_ads__pin_promotion_report_tmp", "checksum": {"name": "sha256", "checksum": "18cfa5bd72f823f350eb4fd5f5400957cc628d66510236ca582e0186f4ed24f4"}, "tags": [], "refs": [], "sources": [["pinterest_ads", "pin_promotion_report"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/tmp/stg_pinterest_ads__pin_promotion_report_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "view"}, "created_at": 1656616677.242018, "compiled_sql": "select *\nfrom \"postgres\".\"pinterest_source_integration_tests\".\"pin_promotion_report_data\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__pin_promotion_report_tmp\""}, "model.pinterest_source.stg_pinterest_ads__campaign_report_tmp": {"raw_sql": "select * \nfrom {{ var('campaign_report') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.pinterest_source.pinterest_ads.campaign_report"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "tmp", "stg_pinterest_ads__campaign_report_tmp"], "unique_id": "model.pinterest_source.stg_pinterest_ads__campaign_report_tmp", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "tmp/stg_pinterest_ads__campaign_report_tmp.sql", "original_file_path": "models/tmp/stg_pinterest_ads__campaign_report_tmp.sql", "name": "stg_pinterest_ads__campaign_report_tmp", "alias": "stg_pinterest_ads__campaign_report_tmp", "checksum": {"name": "sha256", "checksum": "5f611ed15f119a95ac9ba29f2463d1924782790c0678cfca4fd0f25aab4d4296"}, "tags": [], "refs": [], "sources": [["pinterest_ads", "campaign_report"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/tmp/stg_pinterest_ads__campaign_report_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "view"}, "created_at": 1656616677.2448142, "compiled_sql": "select * \nfrom \"postgres\".\"pinterest_source_integration_tests\".\"campaign_report_data\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__campaign_report_tmp\""}, "model.pinterest_source.stg_pinterest_ads__advertiser_report_tmp": {"raw_sql": "select * \nfrom {{ var('advertiser_report') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.pinterest_source.pinterest_ads.advertiser_report"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "tmp", "stg_pinterest_ads__advertiser_report_tmp"], "unique_id": "model.pinterest_source.stg_pinterest_ads__advertiser_report_tmp", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "tmp/stg_pinterest_ads__advertiser_report_tmp.sql", "original_file_path": "models/tmp/stg_pinterest_ads__advertiser_report_tmp.sql", "name": "stg_pinterest_ads__advertiser_report_tmp", "alias": "stg_pinterest_ads__advertiser_report_tmp", "checksum": {"name": "sha256", "checksum": "68f4f29d7cc41371c11bca9e1ac615df584965bb7be78dda187252b1893b6a17"}, "tags": [], "refs": [], "sources": [["pinterest_ads", "advertiser_report"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/tmp/stg_pinterest_ads__advertiser_report_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "view"}, "created_at": 1656616677.2482, "compiled_sql": "select * \nfrom \"postgres\".\"pinterest_source_integration_tests\".\"advertiser_report_data\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__advertiser_report_tmp\""}, "model.pinterest_source.stg_pinterest_ads__keyword_report_tmp": {"raw_sql": "select * \nfrom {{ var('keyword_report') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.pinterest_source.pinterest_ads.keyword_report"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "tmp", "stg_pinterest_ads__keyword_report_tmp"], "unique_id": "model.pinterest_source.stg_pinterest_ads__keyword_report_tmp", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "tmp/stg_pinterest_ads__keyword_report_tmp.sql", "original_file_path": "models/tmp/stg_pinterest_ads__keyword_report_tmp.sql", "name": "stg_pinterest_ads__keyword_report_tmp", "alias": "stg_pinterest_ads__keyword_report_tmp", "checksum": {"name": "sha256", "checksum": "180a05437502b97ae4654b06e70dee2f2324b4b80815c2be214cdc9cfcb4a99d"}, "tags": [], "refs": [], "sources": [["pinterest_ads", "keyword_report"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/tmp/stg_pinterest_ads__keyword_report_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "view"}, "created_at": 1656616677.2510662, "compiled_sql": "select * \nfrom \"postgres\".\"pinterest_source_integration_tests\".\"keyword_report_data\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__keyword_report_tmp\""}, "model.pinterest_source.stg_pinterest_ads__ad_group_report_tmp": {"raw_sql": "select * \nfrom {{ var('ad_group_report') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.pinterest_source.pinterest_ads.ad_group_report"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "tmp", "stg_pinterest_ads__ad_group_report_tmp"], "unique_id": "model.pinterest_source.stg_pinterest_ads__ad_group_report_tmp", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "tmp/stg_pinterest_ads__ad_group_report_tmp.sql", "original_file_path": "models/tmp/stg_pinterest_ads__ad_group_report_tmp.sql", "name": "stg_pinterest_ads__ad_group_report_tmp", "alias": "stg_pinterest_ads__ad_group_report_tmp", "checksum": {"name": "sha256", "checksum": "7302e33164e446b0631e0dda341de8949d3ead51adddb6ba93fbda32b00449e2"}, "tags": [], "refs": [], "sources": [["pinterest_ads", "ad_group_report"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/tmp/stg_pinterest_ads__ad_group_report_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "view"}, "created_at": 1656616677.253918, "compiled_sql": "select * \nfrom \"postgres\".\"pinterest_source_integration_tests\".\"ad_group_report_data\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__ad_group_report_tmp\""}, "model.pinterest_source.stg_pinterest_ads__keyword_history_tmp": {"raw_sql": "select * \nfrom {{ var('keyword_history') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.pinterest_source.pinterest_ads.keyword_history"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "tmp", "stg_pinterest_ads__keyword_history_tmp"], "unique_id": "model.pinterest_source.stg_pinterest_ads__keyword_history_tmp", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "tmp/stg_pinterest_ads__keyword_history_tmp.sql", "original_file_path": "models/tmp/stg_pinterest_ads__keyword_history_tmp.sql", "name": "stg_pinterest_ads__keyword_history_tmp", "alias": "stg_pinterest_ads__keyword_history_tmp", "checksum": {"name": "sha256", "checksum": "beb1849e58089e1dbb21b3eca90782b48e6de96d5df38693417b91488ac622b1"}, "tags": [], "refs": [], "sources": [["pinterest_ads", "keyword_history"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/tmp/stg_pinterest_ads__keyword_history_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "view"}, "created_at": 1656616677.256765, "compiled_sql": "select * \nfrom \"postgres\".\"pinterest_source_integration_tests\".\"keyword_history_data\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__keyword_history_tmp\""}, "model.pinterest_source.stg_pinterest_ads__campaign_history_tmp": {"raw_sql": "select *\nfrom {{ var('campaign_history') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.pinterest_source.pinterest_ads.campaign_history"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "tmp", "stg_pinterest_ads__campaign_history_tmp"], "unique_id": "model.pinterest_source.stg_pinterest_ads__campaign_history_tmp", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "tmp/stg_pinterest_ads__campaign_history_tmp.sql", "original_file_path": "models/tmp/stg_pinterest_ads__campaign_history_tmp.sql", "name": "stg_pinterest_ads__campaign_history_tmp", "alias": "stg_pinterest_ads__campaign_history_tmp", "checksum": {"name": "sha256", "checksum": "ea41c8d4ba83ff540a5f38f481cbd17406e99954f8b9b7b086ac94203a8dd6bd"}, "tags": [], "refs": [], "sources": [["pinterest_ads", "campaign_history"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/tmp/stg_pinterest_ads__campaign_history_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "view"}, "created_at": 1656616677.259965, "compiled_sql": "select *\nfrom \"postgres\".\"pinterest_source_integration_tests\".\"campaign_history_data\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__campaign_history_tmp\""}, "model.pinterest_source.stg_pinterest_ads__ad_group_history_tmp": {"raw_sql": "select *\nfrom {{ var('ad_group_history') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.pinterest_source.pinterest_ads.ad_group_history"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "tmp", "stg_pinterest_ads__ad_group_history_tmp"], "unique_id": "model.pinterest_source.stg_pinterest_ads__ad_group_history_tmp", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "tmp/stg_pinterest_ads__ad_group_history_tmp.sql", "original_file_path": "models/tmp/stg_pinterest_ads__ad_group_history_tmp.sql", "name": "stg_pinterest_ads__ad_group_history_tmp", "alias": "stg_pinterest_ads__ad_group_history_tmp", "checksum": {"name": "sha256", "checksum": "23726e9b019c8268e9aaae828c6c1430685538bef615e52f2c17436dd3615dfa"}, "tags": [], "refs": [], "sources": [["pinterest_ads", "ad_group_history"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/tmp/stg_pinterest_ads__ad_group_history_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "view"}, "created_at": 1656616677.263347, "compiled_sql": "select *\nfrom \"postgres\".\"pinterest_source_integration_tests\".\"ad_group_history_data\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__ad_group_history_tmp\""}, "model.pinterest_source.stg_pinterest_ads__pin_promotion_history_tmp": {"raw_sql": "select *\nfrom {{ var('pin_promotion_history') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.pinterest_source.pinterest_ads.pin_promotion_history"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "tmp", "stg_pinterest_ads__pin_promotion_history_tmp"], "unique_id": "model.pinterest_source.stg_pinterest_ads__pin_promotion_history_tmp", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "tmp/stg_pinterest_ads__pin_promotion_history_tmp.sql", "original_file_path": "models/tmp/stg_pinterest_ads__pin_promotion_history_tmp.sql", "name": "stg_pinterest_ads__pin_promotion_history_tmp", "alias": "stg_pinterest_ads__pin_promotion_history_tmp", "checksum": {"name": "sha256", "checksum": "065bd24ab667bb3742cf11e3d96295c4c78ecdc04bb4d86a8bfa521482c55e71"}, "tags": [], "refs": [], "sources": [["pinterest_ads", "pin_promotion_history"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/tmp/stg_pinterest_ads__pin_promotion_history_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "view"}, "created_at": 1656616677.2682822, "compiled_sql": "select *\nfrom \"postgres\".\"pinterest_source_integration_tests\".\"pin_promotion_history_data\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__pin_promotion_history_tmp\""}, "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_report_date_day__pin_promotion_id.f30a887f4d": {"raw_sql": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_f9906fe67b3bd9891734121983e95908\") }}", "test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["date_day", "pin_promotion_id"], "model": "{{ get_where_subquery(ref('stg_pinterest_ads__pin_promotion_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.pinterest_source.stg_pinterest_ads__pin_promotion_report"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_f9906fe67b3bd9891734121983e95908", "schema": "dbt_test__audit", "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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_report_date_day__pin_promotion_id"], "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_report_date_day__pin_promotion_id.f30a887f4d", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "dbt_utils_unique_combination_o_f9906fe67b3bd9891734121983e95908.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_report_date_day__pin_promotion_id", "alias": "dbt_utils_unique_combination_o_f9906fe67b3bd9891734121983e95908", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__pin_promotion_report"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/dbt_utils_unique_combination_o_f9906fe67b3bd9891734121983e95908.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_f9906fe67b3bd9891734121983e95908"}, "created_at": 1656616677.3450081, "compiled_sql": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n date_day, pin_promotion_id\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__pin_promotion_report\"\n group by date_day, pin_promotion_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_pinterest_ads__pin_promotion_report"}, "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_report_date_day__ad_group_id.959c0f8422": {"raw_sql": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_102912c855f1f0127d704dffca6eb0d1\") }}", "test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["date_day", "ad_group_id"], "model": "{{ get_where_subquery(ref('stg_pinterest_ads__ad_group_report')) }}"}, "namespace": "dbt_utils"}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.pinterest_source.stg_pinterest_ads__ad_group_report"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_102912c855f1f0127d704dffca6eb0d1", "schema": "dbt_test__audit", "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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_report_date_day__ad_group_id"], "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_report_date_day__ad_group_id.959c0f8422", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "dbt_utils_unique_combination_o_102912c855f1f0127d704dffca6eb0d1.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_report_date_day__ad_group_id", "alias": "dbt_utils_unique_combination_o_102912c855f1f0127d704dffca6eb0d1", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__ad_group_report"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/dbt_utils_unique_combination_o_102912c855f1f0127d704dffca6eb0d1.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_102912c855f1f0127d704dffca6eb0d1"}, "created_at": 1656616677.3477912, "compiled_sql": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n date_day, ad_group_id\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__ad_group_report\"\n group by date_day, ad_group_id\n having count(*) > 1\n\n)\n\nselect *\nfrom validation_errors\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": null, "file_key_name": "models.stg_pinterest_ads__ad_group_report"}, "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_history_updated_at__advertiser_id.94e8f4de4b": {"raw_sql": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_ac571a135eb9bbe6db1401c33b830733\") }}", "test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["updated_at", "advertiser_id"], "model": "{{ get_where_subquery(ref('stg_pinterest_ads__advertiser_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.pinterest_source.stg_pinterest_ads__advertiser_history"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_ac571a135eb9bbe6db1401c33b830733", "schema": "dbt_test__audit", "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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_history_updated_at__advertiser_id"], "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_history_updated_at__advertiser_id.94e8f4de4b", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "dbt_utils_unique_combination_o_ac571a135eb9bbe6db1401c33b830733.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_history_updated_at__advertiser_id", "alias": "dbt_utils_unique_combination_o_ac571a135eb9bbe6db1401c33b830733", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__advertiser_history"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/dbt_utils_unique_combination_o_ac571a135eb9bbe6db1401c33b830733.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_ac571a135eb9bbe6db1401c33b830733"}, "created_at": 1656616677.350453, "compiled_sql": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n updated_at, advertiser_id\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__advertiser_history\"\n group by updated_at, advertiser_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_pinterest_ads__advertiser_history"}, "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_report_date_day__advertiser_id.e92ce8a9c0": {"raw_sql": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_7440d10d36ca9b555b1bb533d442c6de\") }}", "test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["date_day", "advertiser_id"], "model": "{{ get_where_subquery(ref('stg_pinterest_ads__advertiser_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.pinterest_source.stg_pinterest_ads__advertiser_report"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_7440d10d36ca9b555b1bb533d442c6de", "schema": "dbt_test__audit", "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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_report_date_day__advertiser_id"], "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_report_date_day__advertiser_id.e92ce8a9c0", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "dbt_utils_unique_combination_o_7440d10d36ca9b555b1bb533d442c6de.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_report_date_day__advertiser_id", "alias": "dbt_utils_unique_combination_o_7440d10d36ca9b555b1bb533d442c6de", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__advertiser_report"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/dbt_utils_unique_combination_o_7440d10d36ca9b555b1bb533d442c6de.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_7440d10d36ca9b555b1bb533d442c6de"}, "created_at": 1656616677.353888, "compiled_sql": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n date_day, advertiser_id\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__advertiser_report\"\n group by date_day, advertiser_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_pinterest_ads__advertiser_report"}, "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_report_date_day__campaign_id.968175d475": {"raw_sql": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_0c8355e1589626ebd0d1804da153d3b7\") }}", "test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["date_day", "campaign_id"], "model": "{{ get_where_subquery(ref('stg_pinterest_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.pinterest_source.stg_pinterest_ads__campaign_report"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_0c8355e1589626ebd0d1804da153d3b7", "schema": "dbt_test__audit", "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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_report_date_day__campaign_id"], "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_report_date_day__campaign_id.968175d475", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "dbt_utils_unique_combination_o_0c8355e1589626ebd0d1804da153d3b7.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_report_date_day__campaign_id", "alias": "dbt_utils_unique_combination_o_0c8355e1589626ebd0d1804da153d3b7", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__campaign_report"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/dbt_utils_unique_combination_o_0c8355e1589626ebd0d1804da153d3b7.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_0c8355e1589626ebd0d1804da153d3b7"}, "created_at": 1656616677.357109, "compiled_sql": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n date_day, campaign_id\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__campaign_report\"\n group by date_day, 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.stg_pinterest_ads__campaign_report"}, "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_history_keyword_id___fivetran_synced.e73fb0a4db": {"raw_sql": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_ec26c02aa227b5ef7cc6b4f64f99d1c4\") }}", "test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["keyword_id", "_fivetran_synced"], "model": "{{ get_where_subquery(ref('stg_pinterest_ads__keyword_history')) }}"}, "namespace": "dbt_utils"}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.pinterest_source.stg_pinterest_ads__keyword_history"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_ec26c02aa227b5ef7cc6b4f64f99d1c4", "schema": "dbt_test__audit", "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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_history_keyword_id___fivetran_synced"], "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_history_keyword_id___fivetran_synced.e73fb0a4db", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "dbt_utils_unique_combination_o_ec26c02aa227b5ef7cc6b4f64f99d1c4.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_history_keyword_id___fivetran_synced", "alias": "dbt_utils_unique_combination_o_ec26c02aa227b5ef7cc6b4f64f99d1c4", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__keyword_history"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/dbt_utils_unique_combination_o_ec26c02aa227b5ef7cc6b4f64f99d1c4.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_ec26c02aa227b5ef7cc6b4f64f99d1c4"}, "created_at": 1656616677.3598258, "compiled_sql": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n keyword_id, _fivetran_synced\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__keyword_history\"\n group by keyword_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_pinterest_ads__keyword_history"}, "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_report_date_day__keyword_id.fe6a646a5a": {"raw_sql": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_94b2fddbce48a3f704e0980f9065fdf9\") }}", "test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["date_day", "keyword_id"], "model": "{{ get_where_subquery(ref('stg_pinterest_ads__keyword_report')) }}"}, "namespace": "dbt_utils"}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.pinterest_source.stg_pinterest_ads__keyword_report"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_94b2fddbce48a3f704e0980f9065fdf9", "schema": "dbt_test__audit", "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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_report_date_day__keyword_id"], "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_report_date_day__keyword_id.fe6a646a5a", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "dbt_utils_unique_combination_o_94b2fddbce48a3f704e0980f9065fdf9.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_report_date_day__keyword_id", "alias": "dbt_utils_unique_combination_o_94b2fddbce48a3f704e0980f9065fdf9", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__keyword_report"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/dbt_utils_unique_combination_o_94b2fddbce48a3f704e0980f9065fdf9.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_94b2fddbce48a3f704e0980f9065fdf9"}, "created_at": 1656616677.3634188, "compiled_sql": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n date_day, keyword_id\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__keyword_report\"\n group by date_day, keyword_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_pinterest_ads__keyword_report"}, "model.pinterest_source.stg_pinterest_ads__campaign_history": {"raw_sql": "with base as (\n\n select *\n from {{ ref('stg_pinterest_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_pinterest_ads__campaign_history_tmp')),\n staging_columns=get_campaign_history_columns()\n )\n }}\n from base\n), \n\nfinal as (\n\n select \n id as campaign_id,\n name as campaign_name,\n status as campaign_status,\n _fivetran_synced,\n created_time as created_at\n from fields\n),\n\nmost_recent as (\n select \n *,\n row_number() over (partition by campaign_id order by _fivetran_synced desc) = 1 as is_most_recent_record\n from final\n)\n\nselect *\nfrom most_recent", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.pinterest_source.get_campaign_history_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.pinterest_source.stg_pinterest_ads__campaign_history_tmp", "model.pinterest_source.stg_pinterest_ads__campaign_history_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "stg_pinterest_ads__campaign_history"], "unique_id": "model.pinterest_source.stg_pinterest_ads__campaign_history", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "stg_pinterest_ads__campaign_history.sql", "original_file_path": "models/stg_pinterest_ads__campaign_history.sql", "name": "stg_pinterest_ads__campaign_history", "alias": "stg_pinterest_ads__campaign_history", "checksum": {"name": "sha256", "checksum": "a1feb2530555bff1e055db8281b66138d7e95444cb6a7490ea50960a4dac2200"}, "tags": [], "refs": [["stg_pinterest_ads__campaign_history_tmp"], ["stg_pinterest_ads__campaign_history_tmp"]], "sources": [], "description": "Each record represents a version of a Pinterest Campaign.", "columns": {"campaign_id": {"name": "campaign_id", "description": "Campaign ID.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "created_at": {"name": "created_at", "description": "Campaign creation time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_name": {"name": "campaign_name", "description": "Campaign name.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_status": {"name": "campaign_status", "description": "The status of the Campaign. One of \"ACTIVE\", \"ARCHIVED\", \"PAUSED\"", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "is_most_recent_record": {"name": "is_most_recent_record", "description": "Boolean representing whether the record is the most recent version of the object.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "pinterest_source://models/stg_pinterest_ads.yml", "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads__campaign_history.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "table"}, "created_at": 1656617322.71089, "compiled_sql": "with base as (\n\n select *\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__campaign_history_tmp\"\n), \n\nfields as (\n\n select\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n created_time\n \n as \n \n created_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 status\n \n as \n \n status\n \n\n\n\n from base\n), \n\nfinal as (\n\n select \n id as campaign_id,\n name as campaign_name,\n status as campaign_status,\n _fivetran_synced,\n created_time as created_at\n from fields\n),\n\nmost_recent as (\n select \n *,\n row_number() over (partition by campaign_id order by _fivetran_synced desc) = 1 as is_most_recent_record\n from final\n)\n\nselect *\nfrom most_recent", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__campaign_history\""}, "model.pinterest_source.stg_pinterest_ads__ad_group_history": {"raw_sql": "with base as (\n\n select *\n from {{ ref('stg_pinterest_ads__ad_group_history_tmp') }}\n), \n\nfields as (\n\n select\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_pinterest_ads__ad_group_history_tmp')),\n staging_columns=get_ad_group_history_columns()\n )\n }}\n from base\n), \n\nfinal as (\n\n select \n id as ad_group_id,\n name as ad_group_name,\n status as ad_group_status,\n _fivetran_synced,\n campaign_id,\n created_time as created_at,\n end_time,\n start_time\n from fields\n),\n\nmost_recent as (\n select\n *,\n row_number() over (partition by ad_group_id order by _fivetran_synced desc) = 1 as is_most_recent_record\n from final\n)\n\nselect *\nfrom most_recent", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.pinterest_source.get_ad_group_history_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.pinterest_source.stg_pinterest_ads__ad_group_history_tmp", "model.pinterest_source.stg_pinterest_ads__ad_group_history_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "stg_pinterest_ads__ad_group_history"], "unique_id": "model.pinterest_source.stg_pinterest_ads__ad_group_history", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "stg_pinterest_ads__ad_group_history.sql", "original_file_path": "models/stg_pinterest_ads__ad_group_history.sql", "name": "stg_pinterest_ads__ad_group_history", "alias": "stg_pinterest_ads__ad_group_history", "checksum": {"name": "sha256", "checksum": "c84e7a8de947ba3bc3101e41f3ce4686265dc854469da158e839759dc2844303"}, "tags": [], "refs": [["stg_pinterest_ads__ad_group_history_tmp"], ["stg_pinterest_ads__ad_group_history_tmp"]], "sources": [], "description": "Each record represents a version of a Pinterest Ad Group.", "columns": {"ad_group_id": {"name": "ad_group_id", "description": "Ad group ID.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_id": {"name": "campaign_id", "description": "Parent Campaign ID.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "created_at": {"name": "created_at", "description": "Ad group creation time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_name": {"name": "ad_group_name", "description": "Ad group name.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_status": {"name": "ad_group_status", "description": "The status of the Ad group. One of \"ACTIVE\", \"ARCHIVED\", \"PAUSED\"", "meta": {}, "data_type": null, "quote": null, "tags": []}, "start_time": {"name": "start_time", "description": "Ad group start time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "end_time": {"name": "end_time", "description": "Ad group end time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "is_most_recent_record": {"name": "is_most_recent_record", "description": "Boolean representing whether the record is the most recent version of the object.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "pinterest_source://models/stg_pinterest_ads.yml", "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads__ad_group_history.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "table"}, "created_at": 1656617322.712726, "compiled_sql": "with base as (\n\n select *\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__ad_group_history_tmp\"\n), \n\nfields as (\n\n select\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n campaign_id\n \n as \n \n campaign_id\n \n, \n \n \n created_time\n \n as \n \n created_time\n \n, \n \n \n end_time\n \n as \n \n end_time\n \n, \n \n \n id\n \n as \n \n id\n \n, \n \n \n name\n \n as \n \n name\n \n, \n \n \n start_time\n \n as \n \n start_time\n \n, \n \n \n status\n \n as \n \n status\n \n\n\n\n from base\n), \n\nfinal as (\n\n select \n id as ad_group_id,\n name as ad_group_name,\n status as ad_group_status,\n _fivetran_synced,\n campaign_id,\n created_time as created_at,\n end_time,\n start_time\n from fields\n),\n\nmost_recent as (\n select\n *,\n row_number() over (partition by ad_group_id order by _fivetran_synced desc) = 1 as is_most_recent_record\n from final\n)\n\nselect *\nfrom most_recent", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__ad_group_history\""}, "model.pinterest_source.stg_pinterest_ads__pin_promotion_history": {"raw_sql": "with base as (\n\n select *\n from {{ ref('stg_pinterest_ads__pin_promotion_history_tmp') }}\n), \n\nfields as (\n\n select\n\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_pinterest_ads__pin_promotion_history_tmp')),\n staging_columns=get_pin_promotion_history_columns()\n )\n }}\n from base\n), \n\nfinal as (\n\n select\n id as pin_promotion_id,\n ad_group_id,\n created_time as created_at,\n destination_url,\n {{ dbt_utils.split_part('destination_url', \"'?'\", 1) }} as base_url,\n {{ dbt_utils.get_url_host('destination_url') }} as url_host,\n '/' || {{ dbt_utils.get_url_path('destination_url') }} as url_path,\n {{ dbt_utils.get_url_parameter('destination_url', 'utm_source') }} as utm_source,\n {{ dbt_utils.get_url_parameter('destination_url', 'utm_medium') }} as utm_medium,\n {{ dbt_utils.get_url_parameter('destination_url', 'utm_campaign') }} as utm_campaign,\n {{ dbt_utils.get_url_parameter('destination_url', 'utm_content') }} as utm_content,\n {{ dbt_utils.get_url_parameter('destination_url', 'utm_term') }} as utm_term,\n name,\n pin_id,\n status,\n creative_type,\n _fivetran_synced\n from fields\n), \n\nsurrogate_key as (\n\n select \n *,\n row_number() over (partition by pin_promotion_id order by _fivetran_synced desc) = 1 as is_most_recent_record\n from final\n)\n\nselect *\nfrom surrogate_key", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.pinterest_source.get_pin_promotion_history_columns", "macro.fivetran_utils.fill_staging_columns", "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.pinterest_source.stg_pinterest_ads__pin_promotion_history_tmp", "model.pinterest_source.stg_pinterest_ads__pin_promotion_history_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "stg_pinterest_ads__pin_promotion_history"], "unique_id": "model.pinterest_source.stg_pinterest_ads__pin_promotion_history", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "stg_pinterest_ads__pin_promotion_history.sql", "original_file_path": "models/stg_pinterest_ads__pin_promotion_history.sql", "name": "stg_pinterest_ads__pin_promotion_history", "alias": "stg_pinterest_ads__pin_promotion_history", "checksum": {"name": "sha256", "checksum": "deeb1f8f5716ff5f01771026df528c7fd8d2e114297ae6fc716f62b60fac633c"}, "tags": [], "refs": [["stg_pinterest_ads__pin_promotion_history_tmp"], ["stg_pinterest_ads__pin_promotion_history_tmp"]], "sources": [], "description": "Each record represents a version of a Pinterest Pin promotion.", "columns": {"pin_promotion_id": {"name": "pin_promotion_id", "description": "Pin promotion ID.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_id": {"name": "ad_group_id", "description": "Pin promotion ad group ID.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "created_at": {"name": "created_at", "description": "Pin creation time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "destination_url": {"name": "destination_url", "description": "Pin destination URL.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Pin promotion name.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "pin_id": {"name": "pin_id", "description": "Original pin ID.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status": {"name": "status", "description": "The status of the Pin promotion. One of \"ACTIVE\", \"ARCHIVED\", \"PAUSED\"", "meta": {}, "data_type": null, "quote": null, "tags": []}, "creative_type": {"name": "creative_type", "description": "The creative type. \nOne of \"APP\", \"APP_VIDEO\", \"BOARD\", \"CAROUSEL\", \"CINEMATIC\", \"COMMERCE\", \"MAX_VIDEO\", \"NATIVE_VIDEO\", \"REGULAR\", \n\"SEARCH_PROMINENCE\", \"SEARCH_PROMINENCE_CAROUSEL\", \"SHOPPING\", \"SHOP_THE_PIN\", \"THIRD_PARTY\", or \"VIDEO\".\n", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "is_most_recent_record": {"name": "is_most_recent_record", "description": "Boolean representing whether the record is the most recent version of the object.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "base_url": {"name": "base_url", "description": "The base URL of the ad, extracted from the `destination_url`.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "url_host": {"name": "url_host", "description": "The URL host of the ad, extracted from the `destination_url`.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "url_path": {"name": "url_path", "description": "The URL path of the ad, extracted from the `destination_url`.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "utm_source": {"name": "utm_source", "description": "The utm_source parameter of the ad, extracted from the `destination_url`.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "utm_medium": {"name": "utm_medium", "description": "The utm_medium parameter of the ad, extracted from the `destination_url`.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "utm_campaign": {"name": "utm_campaign", "description": "The utm_campaign parameter of the ad, extracted from the `destination_url`.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "utm_content": {"name": "utm_content", "description": "The utm_content parameter of the ad, extracted from the `destination_url`.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "utm_term": {"name": "utm_term", "description": "The utm_term parameter of the ad, extracted from the `destination_url`.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "pinterest_source://models/stg_pinterest_ads.yml", "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads__pin_promotion_history.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "table"}, "created_at": 1656617322.7155719, "compiled_sql": "with base as (\n\n select *\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__pin_promotion_history_tmp\"\n), \n\nfields as (\n\n select\n\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n ad_group_id\n \n as \n \n ad_group_id\n \n, \n cast(null as \n varchar\n) as \n \n android_deep_link\n \n , \n cast(null as \n varchar\n) as \n \n click_tracking_url\n \n , \n \n \n created_time\n \n as \n \n created_time\n \n, \n \n \n creative_type\n \n as \n \n creative_type\n \n, \n \n \n destination_url\n \n as \n \n destination_url\n \n, \n \n \n id\n \n as \n \n id\n \n, \n cast(null as \n varchar\n) as \n \n ios_deep_link\n \n , \n cast(null as boolean) as \n \n is_pin_deleted\n \n , \n cast(null as boolean) as \n \n is_removable\n \n , \n \n \n name\n \n as \n \n name\n \n, \n \n \n pin_id\n \n as \n \n pin_id\n \n, \n cast(null as \n varchar\n) as \n \n review_status\n \n , \n \n \n status\n \n as \n \n status\n \n, \n cast(null as \n timestamp without time zone\n) as \n \n updated_time\n \n , \n cast(null as \n varchar\n) as \n \n view_tracking_url\n \n \n\n\n from base\n), \n\nfinal as (\n\n select\n id as pin_promotion_id,\n ad_group_id,\n created_time as created_at,\n destination_url,\n \n\n \n \n\n split_part(\n destination_url,\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 destination_url,\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 destination_url,\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 destination_url,\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 destination_url,\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 destination_url,\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 nullif(\n\n \n \n\n split_part(\n \n\n \n \n\n split_part(\n destination_url,\n 'utm_source=',\n 2\n )\n\n\n \n\n,\n '&',\n 1\n )\n\n\n \n\n,'') as utm_source,\n nullif(\n\n \n \n\n split_part(\n \n\n \n \n\n split_part(\n destination_url,\n 'utm_medium=',\n 2\n )\n\n\n \n\n,\n '&',\n 1\n )\n\n\n \n\n,'') as utm_medium,\n nullif(\n\n \n \n\n split_part(\n \n\n \n \n\n split_part(\n destination_url,\n 'utm_campaign=',\n 2\n )\n\n\n \n\n,\n '&',\n 1\n )\n\n\n \n\n,'') as utm_campaign,\n nullif(\n\n \n \n\n split_part(\n \n\n \n \n\n split_part(\n destination_url,\n 'utm_content=',\n 2\n )\n\n\n \n\n,\n '&',\n 1\n )\n\n\n \n\n,'') as utm_content,\n nullif(\n\n \n \n\n split_part(\n \n\n \n \n\n split_part(\n destination_url,\n 'utm_term=',\n 2\n )\n\n\n \n\n,\n '&',\n 1\n )\n\n\n \n\n,'') as utm_term,\n name,\n pin_id,\n status,\n creative_type,\n _fivetran_synced\n from fields\n), \n\nsurrogate_key as (\n\n select \n *,\n row_number() over (partition by pin_promotion_id order by _fivetran_synced desc) = 1 as is_most_recent_record\n from final\n)\n\nselect *\nfrom surrogate_key", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__pin_promotion_history\""}, "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_history_campaign_id___fivetran_synced.eff7196b87": {"raw_sql": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_0f71f27ed6b0ce2d4940b4361559871b\") }}", "test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["campaign_id", "_fivetran_synced"], "model": "{{ get_where_subquery(ref('stg_pinterest_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.pinterest_source.stg_pinterest_ads__campaign_history"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_0f71f27ed6b0ce2d4940b4361559871b", "schema": "dbt_test__audit", "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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_history_campaign_id___fivetran_synced"], "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_history_campaign_id___fivetran_synced.eff7196b87", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "dbt_utils_unique_combination_o_0f71f27ed6b0ce2d4940b4361559871b.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_history_campaign_id___fivetran_synced", "alias": "dbt_utils_unique_combination_o_0f71f27ed6b0ce2d4940b4361559871b", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__campaign_history"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/dbt_utils_unique_combination_o_0f71f27ed6b0ce2d4940b4361559871b.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_0f71f27ed6b0ce2d4940b4361559871b"}, "created_at": 1656617322.720012, "compiled_sql": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n campaign_id, _fivetran_synced\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__campaign_history\"\n group by campaign_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_pinterest_ads__campaign_history"}, "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_history_ad_group_id___fivetran_synced.1132e1f339": {"raw_sql": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_14ec492421aa290adbd40aba9f38efa7\") }}", "test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["ad_group_id", "_fivetran_synced"], "model": "{{ get_where_subquery(ref('stg_pinterest_ads__ad_group_history')) }}"}, "namespace": "dbt_utils"}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.pinterest_source.stg_pinterest_ads__ad_group_history"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_14ec492421aa290adbd40aba9f38efa7", "schema": "dbt_test__audit", "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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_history_ad_group_id___fivetran_synced"], "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_history_ad_group_id___fivetran_synced.1132e1f339", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "dbt_utils_unique_combination_o_14ec492421aa290adbd40aba9f38efa7.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_history_ad_group_id___fivetran_synced", "alias": "dbt_utils_unique_combination_o_14ec492421aa290adbd40aba9f38efa7", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__ad_group_history"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/dbt_utils_unique_combination_o_14ec492421aa290adbd40aba9f38efa7.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_14ec492421aa290adbd40aba9f38efa7"}, "created_at": 1656617322.7295191, "compiled_sql": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n ad_group_id, _fivetran_synced\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__ad_group_history\"\n group by ad_group_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_pinterest_ads__ad_group_history"}, "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_history__fivetran_synced__pin_promotion_id.8e9ab31ea9": {"raw_sql": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_e0501de9c3316348957b42725bcba175\") }}", "test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["_fivetran_synced", "pin_promotion_id"], "model": "{{ get_where_subquery(ref('stg_pinterest_ads__pin_promotion_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.pinterest_source.stg_pinterest_ads__pin_promotion_history"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_e0501de9c3316348957b42725bcba175", "schema": "dbt_test__audit", "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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_history__fivetran_synced__pin_promotion_id"], "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_history__fivetran_synced__pin_promotion_id.8e9ab31ea9", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "dbt_utils_unique_combination_o_e0501de9c3316348957b42725bcba175.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_history__fivetran_synced__pin_promotion_id", "alias": "dbt_utils_unique_combination_o_e0501de9c3316348957b42725bcba175", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__pin_promotion_history"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/dbt_utils_unique_combination_o_e0501de9c3316348957b42725bcba175.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_e0501de9c3316348957b42725bcba175"}, "created_at": 1656617322.733803, "compiled_sql": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n _fivetran_synced, pin_promotion_id\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__pin_promotion_history\"\n group by _fivetran_synced, pin_promotion_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_pinterest_ads__pin_promotion_history"}}, "sources": {"source.pinterest_source.pinterest_ads.pin_promotion_report": {"fqn": ["pinterest_source", "pinterest_ads", "pin_promotion_report"], "database": "postgres", "schema": "pinterest_source_integration_tests", "unique_id": "source.pinterest_source.pinterest_ads.pin_promotion_report", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "models/src_pinterest_ads.yml", "original_file_path": "models/src_pinterest_ads.yml", "name": "pin_promotion_report", "source_name": "pinterest_ads", "source_description": "", "loader": "Fivetran", "identifier": "pin_promotion_report_data", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 168, "period": "hour"}, "filter": null}, "external": null, "description": "Each record represents the daily performance of a Pinterest Pin promotion.", "columns": {"date": {"name": "date", "description": "The performance date of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "pin_promotion_id": {"name": "pin_promotion_id", "description": "The ID of the related Pin promotion.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_id": {"name": "ad_group_id", "description": "The ID of the related Ad group.", "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": []}, "advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impression_1": {"name": "impression_1", "description": "The number of paid pin impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impression_2": {"name": "impression_2", "description": "The number of earned pin impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clickthrough_1": {"name": "clickthrough_1", "description": "The number of paid pin clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clickthrough_2": {"name": "clickthrough_2", "description": "The number of earned outbound clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend_in_micro_dollar": {"name": "spend_in_micro_dollar", "description": "The amount of spend in micro dollars that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"pin_promotion_report_data\"", "created_at": 1656616677.402244}, "source.pinterest_source.pinterest_ads.pin_promotion_history": {"fqn": ["pinterest_source", "pinterest_ads", "pin_promotion_history"], "database": "postgres", "schema": "pinterest_source_integration_tests", "unique_id": "source.pinterest_source.pinterest_ads.pin_promotion_history", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "models/src_pinterest_ads.yml", "original_file_path": "models/src_pinterest_ads.yml", "name": "pin_promotion_history", "source_name": "pinterest_ads", "source_description": "", "loader": "Fivetran", "identifier": "pin_promotion_history_data", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 168, "period": "hour"}, "filter": null}, "external": null, "description": "Each record represents a version of a Pinterest Pin promotion.", "columns": {"id": {"name": "id", "description": "The ID of the related Pin promotion.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_id": {"name": "ad_group_id", "description": "The ID of the related Ad group.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "created_time": {"name": "created_time", "description": "Pin creation time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "destination_url": {"name": "destination_url", "description": "Pin destination URL.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Pin promotion name.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "pin_id": {"name": "pin_id", "description": "Original pin ID.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status": {"name": "status", "description": "The status of the Pin promotion. One of \"ACTIVE\", \"ARCHIVED\", \"PAUSED\"", "meta": {}, "data_type": null, "quote": null, "tags": []}, "creative_type": {"name": "creative_type", "description": "The creative type. \nOne of \"APP\", \"APP_VIDEO\", \"BOARD\", \"CAROUSEL\", \"CINEMATIC\", \"COMMERCE\", \"MAX_VIDEO\", \"NATIVE_VIDEO\", \"REGULAR\", \n\"SEARCH_PROMINENCE\", \"SEARCH_PROMINENCE_CAROUSEL\", \"SHOPPING\", \"SHOP_THE_PIN\", \"THIRD_PARTY\", or \"VIDEO\".\n", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"pin_promotion_history_data\"", "created_at": 1656616677.402378}, "source.pinterest_source.pinterest_ads.campaign_history": {"fqn": ["pinterest_source", "pinterest_ads", "campaign_history"], "database": "postgres", "schema": "pinterest_source_integration_tests", "unique_id": "source.pinterest_source.pinterest_ads.campaign_history", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "models/src_pinterest_ads.yml", "original_file_path": "models/src_pinterest_ads.yml", "name": "campaign_history", "source_name": "pinterest_ads", "source_description": "", "loader": "Fivetran", "identifier": "campaign_history_data", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 168, "period": "hour"}, "filter": null}, "external": null, "description": "Each record represents a version of a Pinterest Campaign.", "columns": {"id": {"name": "id", "description": "The ID of the related Campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "created_time": {"name": "created_time", "description": "Campaign creation time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Campaign name.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status": {"name": "status", "description": "The status of the Campaign. One of \"ACTIVE\", \"ARCHIVED\", \"PAUSED\"", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"campaign_history_data\"", "created_at": 1656616677.402454}, "source.pinterest_source.pinterest_ads.ad_group_history": {"fqn": ["pinterest_source", "pinterest_ads", "ad_group_history"], "database": "postgres", "schema": "pinterest_source_integration_tests", "unique_id": "source.pinterest_source.pinterest_ads.ad_group_history", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "models/src_pinterest_ads.yml", "original_file_path": "models/src_pinterest_ads.yml", "name": "ad_group_history", "source_name": "pinterest_ads", "source_description": "", "loader": "Fivetran", "identifier": "ad_group_history_data", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 168, "period": "hour"}, "filter": null}, "external": null, "description": "Each record represents a version of a Pinterest Ad Group.", "columns": {"id": {"name": "id", "description": "The ID of the related Ad group.", "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": []}, "created_time": {"name": "created_time", "description": "Ad group creation time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Ad group name.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status": {"name": "status", "description": "The status of the Ad group. One of \"ACTIVE\", \"ARCHIVED\", \"PAUSED\"", "meta": {}, "data_type": null, "quote": null, "tags": []}, "start_time": {"name": "start_time", "description": "Ad group start time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "end_time": {"name": "end_time", "description": "Ad group end time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"ad_group_history_data\"", "created_at": 1656616677.402527}, "source.pinterest_source.pinterest_ads.ad_group_report": {"fqn": ["pinterest_source", "pinterest_ads", "ad_group_report"], "database": "postgres", "schema": "pinterest_source_integration_tests", "unique_id": "source.pinterest_source.pinterest_ads.ad_group_report", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "models/src_pinterest_ads.yml", "original_file_path": "models/src_pinterest_ads.yml", "name": "ad_group_report", "source_name": "pinterest_ads", "source_description": "", "loader": "Fivetran", "identifier": "ad_group_report_data", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 168, "period": "hour"}, "filter": null}, "external": null, "description": "source table", "columns": {"date": {"name": "date", "description": "The performance date of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_id": {"name": "ad_group_id", "description": "The ID of the related Ad group.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_name": {"name": "ad_group_name", "description": "Name of the ad group.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_status": {"name": "ad_group_status", "description": "Status of the ad group.", "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": []}, "advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impression_1": {"name": "impression_1", "description": "The number of paid pin impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impression_2": {"name": "impression_2", "description": "The number of earned pin impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clickthrough_1": {"name": "clickthrough_1", "description": "The number of paid pin clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clickthrough_2": {"name": "clickthrough_2", "description": "The number of earned outbound clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend_in_micro_dollar": {"name": "spend_in_micro_dollar", "description": "The amount of spend in micro dollars that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"ad_group_report_data\"", "created_at": 1656616677.402604}, "source.pinterest_source.pinterest_ads.advertiser_history": {"fqn": ["pinterest_source", "pinterest_ads", "advertiser_history"], "database": "postgres", "schema": "pinterest_source_integration_tests", "unique_id": "source.pinterest_source.pinterest_ads.advertiser_history", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "models/src_pinterest_ads.yml", "original_file_path": "models/src_pinterest_ads.yml", "name": "advertiser_history", "source_name": "pinterest_ads", "source_description": "", "loader": "Fivetran", "identifier": "advertiser_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": "source table", "columns": {"id": {"name": "id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Name of the advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status": {"name": "status", "description": "Status of the advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "billing_profile_status": {"name": "billing_profile_status", "description": "Status of the billing profile.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "billing_type": {"name": "billing_type", "description": "The billing type of the advertiser. Will typically be CREDIT_CARD or INVOICE.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "country": {"name": "country", "description": "The country code where the advertiser is located.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "created_time": {"name": "created_time", "description": "Timestamp of when a record was created.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "currency": {"name": "currency", "description": "The currency code which the a", "meta": {}, "data_type": null, "quote": null, "tags": []}, "merchant_id": {"name": "merchant_id", "description": "Unique ID of the merchant associated with the advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "owner_user_id": {"name": "owner_user_id", "description": "Unique identifier of the owner user.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "updated_time": {"name": "updated_time", "description": "Timestamp of when a record was last updated.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"advertiser_history_data\"", "created_at": 1656616677.4026802}, "source.pinterest_source.pinterest_ads.advertiser_report": {"fqn": ["pinterest_source", "pinterest_ads", "advertiser_report"], "database": "postgres", "schema": "pinterest_source_integration_tests", "unique_id": "source.pinterest_source.pinterest_ads.advertiser_report", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "models/src_pinterest_ads.yml", "original_file_path": "models/src_pinterest_ads.yml", "name": "advertiser_report", "source_name": "pinterest_ads", "source_description": "", "loader": "Fivetran", "identifier": "advertiser_report_data", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 168, "period": "hour"}, "filter": null}, "external": null, "description": "source table", "columns": {"date": {"name": "date", "description": "The performance date of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impression_1": {"name": "impression_1", "description": "The number of paid pin impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impression_2": {"name": "impression_2", "description": "The number of earned pin impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clickthrough_1": {"name": "clickthrough_1", "description": "The number of paid pin clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clickthrough_2": {"name": "clickthrough_2", "description": "The number of earned outbound clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend_in_micro_dollar": {"name": "spend_in_micro_dollar", "description": "The amount of spend in micro dollars that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"advertiser_report_data\"", "created_at": 1656616677.402795}, "source.pinterest_source.pinterest_ads.campaign_report": {"fqn": ["pinterest_source", "pinterest_ads", "campaign_report"], "database": "postgres", "schema": "pinterest_source_integration_tests", "unique_id": "source.pinterest_source.pinterest_ads.campaign_report", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "models/src_pinterest_ads.yml", "original_file_path": "models/src_pinterest_ads.yml", "name": "campaign_report", "source_name": "pinterest_ads", "source_description": "", "loader": "Fivetran", "identifier": "campaign_report_data", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 168, "period": "hour"}, "filter": null}, "external": null, "description": "source table", "columns": {"date": {"name": "date", "description": "The performance date of the record.", "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": "Name of the campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_status": {"name": "campaign_status", "description": "Status of the campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impression_1": {"name": "impression_1", "description": "The number of paid pin impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impression_2": {"name": "impression_2", "description": "The number of earned pin impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clickthrough_1": {"name": "clickthrough_1", "description": "The number of paid pin clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clickthrough_2": {"name": "clickthrough_2", "description": "The number of earned outbound clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend_in_micro_dollar": {"name": "spend_in_micro_dollar", "description": "The amount of spend in micro dollars that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"campaign_report_data\"", "created_at": 1656616677.402869}, "source.pinterest_source.pinterest_ads.keyword_history": {"fqn": ["pinterest_source", "pinterest_ads", "keyword_history"], "database": "postgres", "schema": "pinterest_source_integration_tests", "unique_id": "source.pinterest_source.pinterest_ads.keyword_history", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "models/src_pinterest_ads.yml", "original_file_path": "models/src_pinterest_ads.yml", "name": "keyword_history", "source_name": "pinterest_ads", "source_description": "", "loader": "Fivetran", "identifier": "keyword_history_data", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 168, "period": "hour"}, "filter": null}, "external": null, "description": "source table", "columns": {"id": {"name": "id", "description": "Unique identifier of the keyword.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "value": {"name": "value", "description": "The text value that makes upd the keyword.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_id": {"name": "_fivetran_id", "description": "The unique identifier of the record within the Fivetran synced table.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_id": {"name": "ad_group_id", "description": "The ID of the related Ad group.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "archived": {"name": "archived", "description": "Boolean indicating if the keyword is archived.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "bid": {"name": "bid", "description": "Bid amount set for the keyword.", "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": []}, "match_type": {"name": "match_type", "description": "Type of match the keyword is tied to. Either Exact or Broad.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "parent_type": {"name": "parent_type", "description": "Identifier of what grain the parent type is. Ad group or campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"keyword_history_data\"", "created_at": 1656616677.4029388}, "source.pinterest_source.pinterest_ads.keyword_report": {"fqn": ["pinterest_source", "pinterest_ads", "keyword_report"], "database": "postgres", "schema": "pinterest_source_integration_tests", "unique_id": "source.pinterest_source.pinterest_ads.keyword_report", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "models/src_pinterest_ads.yml", "original_file_path": "models/src_pinterest_ads.yml", "name": "keyword_report", "source_name": "pinterest_ads", "source_description": "", "loader": "Fivetran", "identifier": "keyword_report_data", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 168, "period": "hour"}, "filter": null}, "external": null, "description": "source table", "columns": {"date": {"name": "date", "description": "The performance date of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "keyword_id": {"name": "keyword_id", "description": "Unique identifier of the keyword.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "pin_promotion_id": {"name": "pin_promotion_id", "description": "The ID of the related Pin promotion.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_id": {"name": "ad_group_id", "description": "The ID of the related Ad group.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_name": {"name": "ad_group_name", "description": "Name of the ad group.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_status": {"name": "ad_group_status", "description": "Status of the ad group.", "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": []}, "advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impression_1": {"name": "impression_1", "description": "The number of paid pin impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impression_2": {"name": "impression_2", "description": "The number of earned pin impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clickthrough_1": {"name": "clickthrough_1", "description": "The number of paid pin clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clickthrough_2": {"name": "clickthrough_2", "description": "The number of earned outbound clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend_in_micro_dollar": {"name": "spend_in_micro_dollar", "description": "The amount of spend in micro dollars that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"keyword_report_data\"", "created_at": 1656616677.403014}}, "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": 1656616676.5009222}, "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": 1656616676.501611}, "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": 1656616676.50785}, "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": 1656616676.508451}, "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": 1656616676.5088289}, "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": 1656616676.509171}, "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": 1656616676.5097358}, "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": 1656616676.5101519}, "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": 1656616676.51035}, "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": 1656616676.510738}, "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": 1656616676.511342}, "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": 1656616676.511445}, "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": 1656616676.511667}, "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": 1656616676.511783}, "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": 1656616676.513032}, "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": 1656616676.5135639}, "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": 1656616676.513814}, "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": 1656616676.5145118}, "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": 1656616676.515569}, "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": 1656616676.516856}, "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": 1656616676.5170848}, "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": 1656616676.51724}, "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": 1656616676.517437}, "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": 1656616676.517657}, "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": 1656616676.518186}, "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": 1656616676.518527}, "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": 1656616676.518888}, "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": 1656616676.519531}, "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": 1656616676.519857}, "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": 1656616676.5236669}, "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": 1656616676.523871}, "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": 1656616676.524107}, "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": 1656616676.524256}, "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": 1656616676.524354}, "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": 1656616676.525213}, "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": 1656616676.525381}, "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": 1656616676.525547}, "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": 1656616676.526506}, "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": 1656616676.528397}, "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": 1656616676.5316238}, "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": 1656616676.53191}, "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": 1656616676.5320718}, "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": 1656616676.532162}, "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": 1656616676.532508}, "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": 1656616676.533581}, "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": 1656616676.533822}, "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": 1656616676.534118}, "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": 1656616676.534615}, "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": 1656616676.540888}, "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": 1656616676.543314}, "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": 1656616676.543963}, "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": 1656616676.5442822}, "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": 1656616676.5447838}, "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": 1656616676.545173}, "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": 1656616676.546037}, "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": 1656616676.5465899}, "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": 1656616676.5472288}, "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": 1656616676.549956}, "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": 1656616676.551098}, "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": 1656616676.551339}, "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": 1656616676.55176}, "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": 1656616676.552019}, "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": 1656616676.552841}, "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": 1656616676.553801}, "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": 1656616676.5593889}, "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": 1656616676.5644538}, "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": 1656616676.565708}, "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": 1656616676.566911}, "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": 1656616676.567662}, "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": 1656616676.571468}, "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": 1656616676.571955}, "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": 1656616676.572138}, "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": 1656616676.572333}, "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": 1656616676.57291}, "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": 1656616676.576811}, "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": 1656616676.577255}, "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": 1656616676.577492}, "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": 1656616676.578748}, "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": 1656616676.5791612}, "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": 1656616676.5793338}, "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": 1656616676.579508}, "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": 1656616676.579774}, "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": 1656616676.5826619}, "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": 1656616676.5871592}, "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": 1656616676.588081}, "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": 1656616676.588325}, "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": 1656616676.588794}, "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": 1656616676.5889359}, "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": 1656616676.589047}, "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": 1656616676.589203}, "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": 1656616676.589312}, "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": 1656616676.589777}, "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": 1656616676.590019}, "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": 1656616676.591221}, "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": 1656616676.591736}, "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": 1656616676.591959}, "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": 1656616676.592511}, "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": 1656616676.592962}, "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": 1656616676.5932999}, "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": 1656616676.5939689}, "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": 1656616676.594256}, "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": 1656616676.5947552}, "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": 1656616676.595019}, "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": 1656616676.595371}, "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": 1656616676.5960078}, "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": 1656616676.597174}, "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": 1656616676.5977778}, "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": 1656616676.5980742}, "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": 1656616676.60002}, "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": 1656616676.6016588}, "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": 1656616676.602564}, "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": 1656616676.6028411}, "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": 1656616676.6035259}, "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": 1656616676.603814}, "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": 1656616676.6039958}, "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": 1656616676.6041942}, "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": 1656616676.604807}, "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": 1656616676.60496}, "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": 1656616676.605119}, "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": 1656616676.605555}, "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": 1656616676.6071749}, "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": 1656616676.60748}, "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": 1656616676.60767}, "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": 1656616676.607878}, "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": 1656616676.608056}, "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": 1656616676.608216}, "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": 1656616676.608427}, "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": 1656616676.6086988}, "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": 1656616676.608943}, "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": 1656616676.609592}, "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": 1656616676.609819}, "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": 1656616676.6100109}, "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": 1656616676.610519}, "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": 1656616676.610674}, "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": 1656616676.6108952}, "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": 1656616676.6113222}, "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": 1656616676.612028}, "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": 1656616676.6121962}, "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": 1656616676.612402}, "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": 1656616676.6125708}, "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": 1656616676.612851}, "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": 1656616676.613345}, "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": 1656616676.615215}, "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": 1656616676.615552}, "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": 1656616676.615812}, "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": 1656616676.616004}, "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": 1656616676.616262}, "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": 1656616676.616579}, "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": 1656616676.616823}, "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": 1656616676.617281}, "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": 1656616676.617496}, "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": 1656616676.617684}, "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": 1656616676.619684}, "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": 1656616676.6198668}, "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": 1656616676.620219}, "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": 1656616676.62044}, "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": 1656616676.6208372}, "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": 1656616676.621087}, "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": 1656616676.6217742}, "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": 1656616676.622059}, "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": 1656616676.622973}, "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": 1656616676.623704}, "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": 1656616676.62401}, "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": 1656616676.624298}, "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": 1656616676.624568}, "macro.dbt_utils.except": {"unique_id": "macro.dbt_utils.except", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.624918}, "macro.dbt_utils.default__except": {"unique_id": "macro.dbt_utils.default__except", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.6249979}, "macro.dbt_utils.bigquery__except": {"unique_id": "macro.dbt_utils.bigquery__except", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.6250648}, "macro.dbt_utils.replace": {"unique_id": "macro.dbt_utils.replace", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.625448}, "macro.dbt_utils.default__replace": {"unique_id": "macro.dbt_utils.default__replace", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.625609}, "macro.dbt_utils.concat": {"unique_id": "macro.dbt_utils.concat", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.625908}, "macro.dbt_utils.default__concat": {"unique_id": "macro.dbt_utils.default__concat", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.6262379}, "macro.dbt_utils.type_string": {"unique_id": "macro.dbt_utils.type_string", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.6269639}, "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/pinterest/dbt_pinterest_source/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": 1656616676.6270342}, "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/pinterest/dbt_pinterest_source/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": 1656616676.627104}, "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/pinterest/dbt_pinterest_source/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": 1656616676.6271691}, "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/pinterest/dbt_pinterest_source/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": 1656616676.6272361}, "macro.dbt_utils.type_timestamp": {"unique_id": "macro.dbt_utils.type_timestamp", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.627388}, "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/pinterest/dbt_pinterest_source/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": 1656616676.627458}, "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/pinterest/dbt_pinterest_source/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": 1656616676.6275241}, "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/pinterest/dbt_pinterest_source/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": 1656616676.627599}, "macro.dbt_utils.type_float": {"unique_id": "macro.dbt_utils.type_float", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.627754}, "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/pinterest/dbt_pinterest_source/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": 1656616676.6278222}, "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/pinterest/dbt_pinterest_source/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": 1656616676.627887}, "macro.dbt_utils.type_numeric": {"unique_id": "macro.dbt_utils.type_numeric", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.628039}, "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/pinterest/dbt_pinterest_source/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": 1656616676.628107}, "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/pinterest/dbt_pinterest_source/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": 1656616676.628173}, "macro.dbt_utils.type_bigint": {"unique_id": "macro.dbt_utils.type_bigint", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.6283252}, "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/pinterest/dbt_pinterest_source/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": 1656616676.628396}, "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/pinterest/dbt_pinterest_source/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": 1656616676.62847}, "macro.dbt_utils.type_int": {"unique_id": "macro.dbt_utils.type_int", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.628695}, "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/pinterest/dbt_pinterest_source/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": 1656616676.628764}, "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/pinterest/dbt_pinterest_source/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": 1656616676.628832}, "macro.dbt_utils._is_relation": {"unique_id": "macro.dbt_utils._is_relation", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.6293492}, "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/pinterest/dbt_pinterest_source/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": 1656616676.629796}, "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/pinterest/dbt_pinterest_source/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": 1656616676.629931}, "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/pinterest/dbt_pinterest_source/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": 1656616676.630226}, "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/pinterest/dbt_pinterest_source/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": 1656616676.630367}, "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/pinterest/dbt_pinterest_source/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": 1656616676.6304681}, "macro.dbt_utils.length": {"unique_id": "macro.dbt_utils.length", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.630823}, "macro.dbt_utils.default__length": {"unique_id": "macro.dbt_utils.default__length", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.6309261}, "macro.dbt_utils.redshift__length": {"unique_id": "macro.dbt_utils.redshift__length", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.631022}, "macro.dbt_utils.dateadd": {"unique_id": "macro.dbt_utils.dateadd", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.631606}, "macro.dbt_utils.default__dateadd": {"unique_id": "macro.dbt_utils.default__dateadd", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.631764}, "macro.dbt_utils.bigquery__dateadd": {"unique_id": "macro.dbt_utils.bigquery__dateadd", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.6319292}, "macro.dbt_utils.postgres__dateadd": {"unique_id": "macro.dbt_utils.postgres__dateadd", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.6320808}, "macro.dbt_utils.redshift__dateadd": {"unique_id": "macro.dbt_utils.redshift__dateadd", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.632271}, "macro.dbt_utils.intersect": {"unique_id": "macro.dbt_utils.intersect", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.63257}, "macro.dbt_utils.default__intersect": {"unique_id": "macro.dbt_utils.default__intersect", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.63264}, "macro.dbt_utils.bigquery__intersect": {"unique_id": "macro.dbt_utils.bigquery__intersect", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.632712}, "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/pinterest/dbt_pinterest_source/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": 1656616676.633121}, "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/pinterest/dbt_pinterest_source/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": 1656616676.6332648}, "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/pinterest/dbt_pinterest_source/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": 1656616676.633488}, "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/pinterest/dbt_pinterest_source/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": 1656616676.633631}, "macro.dbt_utils.right": {"unique_id": "macro.dbt_utils.right", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.634629}, "macro.dbt_utils.default__right": {"unique_id": "macro.dbt_utils.default__right", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.6347919}, "macro.dbt_utils.bigquery__right": {"unique_id": "macro.dbt_utils.bigquery__right", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.634964}, "macro.dbt_utils.snowflake__right": {"unique_id": "macro.dbt_utils.snowflake__right", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.6351318}, "macro.dbt_utils.listagg": {"unique_id": "macro.dbt_utils.listagg", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.637749}, "macro.dbt_utils.default__listagg": {"unique_id": "macro.dbt_utils.default__listagg", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.638203}, "macro.dbt_utils.bigquery__listagg": {"unique_id": "macro.dbt_utils.bigquery__listagg", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.638516}, "macro.dbt_utils.postgres__listagg": {"unique_id": "macro.dbt_utils.postgres__listagg", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.6390002}, "macro.dbt_utils.redshift__listagg": {"unique_id": "macro.dbt_utils.redshift__listagg", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.640115}, "macro.dbt_utils.datediff": {"unique_id": "macro.dbt_utils.datediff", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.642727}, "macro.dbt_utils.default__datediff": {"unique_id": "macro.dbt_utils.default__datediff", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.642907}, "macro.dbt_utils.bigquery__datediff": {"unique_id": "macro.dbt_utils.bigquery__datediff", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.643072}, "macro.dbt_utils.postgres__datediff": {"unique_id": "macro.dbt_utils.postgres__datediff", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.645262}, "macro.dbt_utils.redshift__datediff": {"unique_id": "macro.dbt_utils.redshift__datediff", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.6455}, "macro.dbt_utils.safe_cast": {"unique_id": "macro.dbt_utils.safe_cast", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.645997}, "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/pinterest/dbt_pinterest_source/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": 1656616676.646136}, "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/pinterest/dbt_pinterest_source/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": 1656616676.6462588}, "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/pinterest/dbt_pinterest_source/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": 1656616676.646393}, "macro.dbt_utils.hash": {"unique_id": "macro.dbt_utils.hash", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.6467578}, "macro.dbt_utils.default__hash": {"unique_id": "macro.dbt_utils.default__hash", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.6468952}, "macro.dbt_utils.bigquery__hash": {"unique_id": "macro.dbt_utils.bigquery__hash", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.647022}, "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/pinterest/dbt_pinterest_source/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": 1656616676.647382}, "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/pinterest/dbt_pinterest_source/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": 1656616676.647516}, "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/pinterest/dbt_pinterest_source/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": 1656616676.647635}, "macro.dbt_utils.identifier": {"unique_id": "macro.dbt_utils.identifier", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.648143}, "macro.dbt_utils.default__identifier": {"unique_id": "macro.dbt_utils.default__identifier", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.648246}, "macro.dbt_utils.bigquery__identifier": {"unique_id": "macro.dbt_utils.bigquery__identifier", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.6483572}, "macro.dbt_utils.any_value": {"unique_id": "macro.dbt_utils.any_value", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.648736}, "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/pinterest/dbt_pinterest_source/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": 1656616676.6488378}, "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/pinterest/dbt_pinterest_source/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": 1656616676.648939}, "macro.dbt_utils.position": {"unique_id": "macro.dbt_utils.position", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.649347}, "macro.dbt_utils.default__position": {"unique_id": "macro.dbt_utils.default__position", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.649479}, "macro.dbt_utils.bigquery__position": {"unique_id": "macro.dbt_utils.bigquery__position", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.649612}, "macro.dbt_utils.string_literal": {"unique_id": "macro.dbt_utils.string_literal", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.6499789}, "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/pinterest/dbt_pinterest_source/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": 1656616676.650079}, "macro.dbt_utils.current_timestamp": {"unique_id": "macro.dbt_utils.current_timestamp", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.6506839}, "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/pinterest/dbt_pinterest_source/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": 1656616676.650791}, "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/pinterest/dbt_pinterest_source/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": 1656616676.650858}, "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/pinterest/dbt_pinterest_source/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": 1656616676.650924}, "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/pinterest/dbt_pinterest_source/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": 1656616676.651077}, "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/pinterest/dbt_pinterest_source/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": 1656616676.6511848}, "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/pinterest/dbt_pinterest_source/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": 1656616676.65134}, "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/pinterest/dbt_pinterest_source/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": 1656616676.6514492}, "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/pinterest/dbt_pinterest_source/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": 1656616676.651586}, "macro.dbt_utils.width_bucket": {"unique_id": "macro.dbt_utils.width_bucket", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.652967}, "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/pinterest/dbt_pinterest_source/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": 1656616676.653436}, "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/pinterest/dbt_pinterest_source/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": 1656616676.654021}, "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/pinterest/dbt_pinterest_source/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": 1656616676.6543748}, "macro.dbt_utils.array_concat": {"unique_id": "macro.dbt_utils.array_concat", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.654909}, "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/pinterest/dbt_pinterest_source/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": 1656616676.655048}, "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/pinterest/dbt_pinterest_source/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": 1656616676.6551769}, "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/pinterest/dbt_pinterest_source/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": 1656616676.655305}, "macro.dbt_utils.bool_or": {"unique_id": "macro.dbt_utils.bool_or", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.655703}, "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/pinterest/dbt_pinterest_source/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": 1656616676.65581}, "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/pinterest/dbt_pinterest_source/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": 1656616676.655989}, "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/pinterest/dbt_pinterest_source/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": 1656616676.656087}, "macro.dbt_utils.last_day": {"unique_id": "macro.dbt_utils.last_day", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.656678}, "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/pinterest/dbt_pinterest_source/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": 1656616676.656946}, "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/pinterest/dbt_pinterest_source/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": 1656616676.6570911}, "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/pinterest/dbt_pinterest_source/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": 1656616676.657482}, "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/pinterest/dbt_pinterest_source/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": 1656616676.657653}, "macro.dbt_utils.split_part": {"unique_id": "macro.dbt_utils.split_part", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.659064}, "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/pinterest/dbt_pinterest_source/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": 1656616676.6592278}, "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/pinterest/dbt_pinterest_source/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": 1656616676.659447}, "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/pinterest/dbt_pinterest_source/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": 1656616676.659782}, "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/pinterest/dbt_pinterest_source/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": 1656616676.6601129}, "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/pinterest/dbt_pinterest_source/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": 1656616676.660474}, "macro.dbt_utils.date_trunc": {"unique_id": "macro.dbt_utils.date_trunc", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.660867}, "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/pinterest/dbt_pinterest_source/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": 1656616676.660992}, "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/pinterest/dbt_pinterest_source/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": 1656616676.66112}, "macro.dbt_utils.array_construct": {"unique_id": "macro.dbt_utils.array_construct", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.661692}, "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/pinterest/dbt_pinterest_source/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": 1656616676.661928}, "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/pinterest/dbt_pinterest_source/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": 1656616676.6620731}, "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/pinterest/dbt_pinterest_source/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": 1656616676.6622121}, "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/pinterest/dbt_pinterest_source/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": 1656616676.6623418}, "macro.dbt_utils._is_ephemeral": {"unique_id": "macro.dbt_utils._is_ephemeral", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.663681}, "macro.dbt_utils.array_append": {"unique_id": "macro.dbt_utils.array_append", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.664362}, "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/pinterest/dbt_pinterest_source/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": 1656616676.664526}, "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/pinterest/dbt_pinterest_source/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": 1656616676.664746}, "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/pinterest/dbt_pinterest_source/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": 1656616676.664957}, "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/pinterest/dbt_pinterest_source/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": 1656616676.671155}, "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/pinterest/dbt_pinterest_source/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": 1656616676.671835}, "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/pinterest/dbt_pinterest_source/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": 1656616676.672276}, "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/pinterest/dbt_pinterest_source/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": 1656616676.672918}, "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/pinterest/dbt_pinterest_source/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": 1656616676.678905}, "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/pinterest/dbt_pinterest_source/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": 1656616676.6796522}, "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/pinterest/dbt_pinterest_source/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": 1656616676.6801972}, "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/pinterest/dbt_pinterest_source/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": 1656616676.680831}, "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/pinterest/dbt_pinterest_source/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": 1656616676.681629}, "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/pinterest/dbt_pinterest_source/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": 1656616676.682158}, "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/pinterest/dbt_pinterest_source/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": 1656616676.682506}, "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/pinterest/dbt_pinterest_source/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": 1656616676.683222}, "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/pinterest/dbt_pinterest_source/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": 1656616676.683481}, "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/pinterest/dbt_pinterest_source/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": 1656616676.6839738}, "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/pinterest/dbt_pinterest_source/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": 1656616676.684482}, "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/pinterest/dbt_pinterest_source/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": 1656616676.685415}, "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/pinterest/dbt_pinterest_source/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": 1656616676.685805}, "macro.dbt_utils.test_recency": {"unique_id": "macro.dbt_utils.test_recency", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.686338}, "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/pinterest/dbt_pinterest_source/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": 1656616676.6867368}, "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/pinterest/dbt_pinterest_source/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": 1656616676.6871638}, "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/pinterest/dbt_pinterest_source/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": 1656616676.68737}, "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/pinterest/dbt_pinterest_source/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": 1656616676.6880908}, "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/pinterest/dbt_pinterest_source/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": 1656616676.688721}, "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/pinterest/dbt_pinterest_source/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": 1656616676.689365}, "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/pinterest/dbt_pinterest_source/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": 1656616676.6897888}, "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/pinterest/dbt_pinterest_source/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": 1656616676.6902971}, "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/pinterest/dbt_pinterest_source/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": 1656616676.6904829}, "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/pinterest/dbt_pinterest_source/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": 1656616676.690912}, "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/pinterest/dbt_pinterest_source/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": 1656616676.6911051}, "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/pinterest/dbt_pinterest_source/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": 1656616676.691848}, "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/pinterest/dbt_pinterest_source/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": 1656616676.6926}, "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/pinterest/dbt_pinterest_source/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": 1656616676.693384}, "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/pinterest/dbt_pinterest_source/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": 1656616676.693781}, "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/pinterest/dbt_pinterest_source/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": 1656616676.694602}, "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/pinterest/dbt_pinterest_source/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": 1656616676.6949492}, "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/pinterest/dbt_pinterest_source/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": 1656616676.69562}, "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/pinterest/dbt_pinterest_source/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": 1656616676.6962}, "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/pinterest/dbt_pinterest_source/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": 1656616676.6970801}, "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/pinterest/dbt_pinterest_source/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": 1656616676.697958}, "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/pinterest/dbt_pinterest_source/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": 1656616676.698561}, "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/pinterest/dbt_pinterest_source/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": 1656616676.698745}, "macro.dbt_utils.test_equality": {"unique_id": "macro.dbt_utils.test_equality", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.6996899}, "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/pinterest/dbt_pinterest_source/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": 1656616676.700735}, "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/pinterest/dbt_pinterest_source/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": 1656616676.704152}, "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/pinterest/dbt_pinterest_source/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": 1656616676.705909}, "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/pinterest/dbt_pinterest_source/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": 1656616676.70654}, "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/pinterest/dbt_pinterest_source/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": 1656616676.706732}, "macro.dbt_utils.pretty_time": {"unique_id": "macro.dbt_utils.pretty_time", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.707176}, "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/pinterest/dbt_pinterest_source/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": 1656616676.707447}, "macro.dbt_utils.log_info": {"unique_id": "macro.dbt_utils.log_info", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.707835}, "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/pinterest/dbt_pinterest_source/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": 1656616676.7080388}, "macro.dbt_utils.slugify": {"unique_id": "macro.dbt_utils.slugify", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.708649}, "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/pinterest/dbt_pinterest_source/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": 1656616676.709462}, "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/pinterest/dbt_pinterest_source/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": 1656616676.710142}, "macro.dbt_utils.date_spine": {"unique_id": "macro.dbt_utils.date_spine", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.710398}, "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/pinterest/dbt_pinterest_source/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": 1656616676.710798}, "macro.dbt_utils.nullcheck_table": {"unique_id": "macro.dbt_utils.nullcheck_table", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.7112188}, "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/pinterest/dbt_pinterest_source/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": 1656616676.711715}, "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/pinterest/dbt_pinterest_source/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": 1656616676.7125728}, "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/pinterest/dbt_pinterest_source/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": 1656616676.713504}, "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/pinterest/dbt_pinterest_source/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": 1656616676.714499}, "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/pinterest/dbt_pinterest_source/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": 1656616676.7149582}, "macro.dbt_utils.generate_series": {"unique_id": "macro.dbt_utils.generate_series", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.7151518}, "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/pinterest/dbt_pinterest_source/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": 1656616676.715667}, "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/pinterest/dbt_pinterest_source/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": 1656616676.716382}, "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/pinterest/dbt_pinterest_source/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": 1656616676.7174342}, "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/pinterest/dbt_pinterest_source/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": 1656616676.718107}, "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/pinterest/dbt_pinterest_source/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": 1656616676.718442}, "macro.dbt_utils.star": {"unique_id": "macro.dbt_utils.star", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.7192872}, "macro.dbt_utils.default__star": {"unique_id": "macro.dbt_utils.default__star", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.720464}, "macro.dbt_utils.unpivot": {"unique_id": "macro.dbt_utils.unpivot", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.722399}, "macro.dbt_utils.default__unpivot": {"unique_id": "macro.dbt_utils.default__unpivot", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.7250361}, "macro.dbt_utils.union_relations": {"unique_id": "macro.dbt_utils.union_relations", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.728009}, "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/pinterest/dbt_pinterest_source/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": 1656616676.7509398}, "macro.dbt_utils.group_by": {"unique_id": "macro.dbt_utils.group_by", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.751495}, "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/pinterest/dbt_pinterest_source/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": 1656616676.7517672}, "macro.dbt_utils.deduplicate": {"unique_id": "macro.dbt_utils.deduplicate", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.754689}, "macro.dbt_utils.default__deduplicate": {"unique_id": "macro.dbt_utils.default__deduplicate", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.754981}, "macro.dbt_utils.redshift__deduplicate": {"unique_id": "macro.dbt_utils.redshift__deduplicate", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.7552252}, "macro.dbt_utils.postgres__deduplicate": {"unique_id": "macro.dbt_utils.postgres__deduplicate", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.755439}, "macro.dbt_utils.snowflake__deduplicate": {"unique_id": "macro.dbt_utils.snowflake__deduplicate", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.755639}, "macro.dbt_utils.bigquery__deduplicate": {"unique_id": "macro.dbt_utils.bigquery__deduplicate", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.755821}, "macro.dbt_utils.surrogate_key": {"unique_id": "macro.dbt_utils.surrogate_key", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.756692}, "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/pinterest/dbt_pinterest_source/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": 1656616676.7578502}, "macro.dbt_utils.safe_add": {"unique_id": "macro.dbt_utils.safe_add", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.758388}, "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/pinterest/dbt_pinterest_source/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": 1656616676.7587142}, "macro.dbt_utils.nullcheck": {"unique_id": "macro.dbt_utils.nullcheck", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.759157}, "macro.dbt_utils.default__nullcheck": {"unique_id": "macro.dbt_utils.default__nullcheck", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.759525}, "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/pinterest/dbt_pinterest_source/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": 1656616676.7612102}, "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/pinterest/dbt_pinterest_source/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": 1656616676.761589}, "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/pinterest/dbt_pinterest_source/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": 1656616676.762552}, "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/pinterest/dbt_pinterest_source/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": 1656616676.763114}, "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/pinterest/dbt_pinterest_source/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": 1656616676.7644968}, "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/pinterest/dbt_pinterest_source/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": 1656616676.766199}, "macro.dbt_utils.pivot": {"unique_id": "macro.dbt_utils.pivot", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.7675872}, "macro.dbt_utils.default__pivot": {"unique_id": "macro.dbt_utils.default__pivot", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.7685592}, "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/pinterest/dbt_pinterest_source/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": 1656616676.769182}, "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/pinterest/dbt_pinterest_source/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": 1656616676.77003}, "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/pinterest/dbt_pinterest_source/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": 1656616676.77057}, "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/pinterest/dbt_pinterest_source/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": 1656616676.771216}, "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/pinterest/dbt_pinterest_source/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": 1656616676.771822}, "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/pinterest/dbt_pinterest_source/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": 1656616676.77194}, "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/pinterest/dbt_pinterest_source/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": 1656616676.7720408}, "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/pinterest/dbt_pinterest_source/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": 1656616676.7721322}, "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/pinterest/dbt_pinterest_source/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": 1656616676.773324}, "macro.dbt_utils.haversine_distance": {"unique_id": "macro.dbt_utils.haversine_distance", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.773786}, "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/pinterest/dbt_pinterest_source/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": 1656616676.775434}, "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/pinterest/dbt_pinterest_source/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": 1656616676.776466}, "macro.spark_utils.get_tables": {"unique_id": "macro.spark_utils.get_tables", "package_name": "spark_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.782084}, "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/pinterest/dbt_pinterest_source/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": 1656616676.7828748}, "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/pinterest/dbt_pinterest_source/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": 1656616676.783929}, "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/pinterest/dbt_pinterest_source/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": 1656616676.784862}, "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/pinterest/dbt_pinterest_source/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": 1656616676.78584}, "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/pinterest/dbt_pinterest_source/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": 1656616676.7868319}, "macro.spark_utils.spark__concat": {"unique_id": "macro.spark_utils.spark__concat", "package_name": "spark_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.787222}, "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/pinterest/dbt_pinterest_source/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": 1656616676.787421}, "macro.spark_utils.spark__dateadd": {"unique_id": "macro.spark_utils.spark__dateadd", "package_name": "spark_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.7901719}, "macro.spark_utils.spark__datediff": {"unique_id": "macro.spark_utils.spark__datediff", "package_name": "spark_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.7977338}, "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/pinterest/dbt_pinterest_source/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": 1656616676.798065}, "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/pinterest/dbt_pinterest_source/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": 1656616676.798145}, "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/pinterest/dbt_pinterest_source/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": 1656616676.798809}, "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/pinterest/dbt_pinterest_source/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": 1656616676.800747}, "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/pinterest/dbt_pinterest_source/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": 1656616676.801161}, "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/pinterest/dbt_pinterest_source/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": 1656616676.8014688}, "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/pinterest/dbt_pinterest_source/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": 1656616676.80178}, "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/pinterest/dbt_pinterest_source/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": 1656616676.8024309}, "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/pinterest/dbt_pinterest_source/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": 1656616676.802667}, "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/pinterest/dbt_pinterest_source/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": 1656616676.803019}, "macro.fivetran_utils.enabled_vars": {"unique_id": "macro.fivetran_utils.enabled_vars", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.80356}, "macro.fivetran_utils.percentile": {"unique_id": "macro.fivetran_utils.percentile", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.804696}, "macro.fivetran_utils.default__percentile": {"unique_id": "macro.fivetran_utils.default__percentile", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.804883}, "macro.fivetran_utils.redshift__percentile": {"unique_id": "macro.fivetran_utils.redshift__percentile", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.805069}, "macro.fivetran_utils.bigquery__percentile": {"unique_id": "macro.fivetran_utils.bigquery__percentile", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.80527}, "macro.fivetran_utils.postgres__percentile": {"unique_id": "macro.fivetran_utils.postgres__percentile", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.8054452}, "macro.fivetran_utils.spark__percentile": {"unique_id": "macro.fivetran_utils.spark__percentile", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.80563}, "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/pinterest/dbt_pinterest_source/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": 1656616676.806218}, "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/pinterest/dbt_pinterest_source/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) %}\n\n{% if var(pass_through_variable, none) %}\n {% for field in var(pass_through_variable) %}\n , {{ 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": 1656616676.806859}, "macro.fivetran_utils.json_parse": {"unique_id": "macro.fivetran_utils.json_parse", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.808068}, "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/pinterest/dbt_pinterest_source/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": 1656616676.8083572}, "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/pinterest/dbt_pinterest_source/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": 1656616676.808637}, "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/pinterest/dbt_pinterest_source/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": 1656616676.808903}, "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/pinterest/dbt_pinterest_source/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": 1656616676.8091662}, "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/pinterest/dbt_pinterest_source/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": 1656616676.8094678}, "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/pinterest/dbt_pinterest_source/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": 1656616676.809769}, "macro.fivetran_utils.max_bool": {"unique_id": "macro.fivetran_utils.max_bool", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.810215}, "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/pinterest/dbt_pinterest_source/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": 1656616676.8103418}, "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/pinterest/dbt_pinterest_source/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": 1656616676.810448}, "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/pinterest/dbt_pinterest_source/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": 1656616676.8105621}, "macro.fivetran_utils.calculated_fields": {"unique_id": "macro.fivetran_utils.calculated_fields", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.811046}, "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/pinterest/dbt_pinterest_source/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": 1656616676.8117828}, "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/pinterest/dbt_pinterest_source/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": 1656616676.812524}, "macro.fivetran_utils.string_agg": {"unique_id": "macro.fivetran_utils.string_agg", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.813198}, "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/pinterest/dbt_pinterest_source/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": 1656616676.813343}, "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/pinterest/dbt_pinterest_source/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": 1656616676.813477}, "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/pinterest/dbt_pinterest_source/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": 1656616676.813607}, "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/pinterest/dbt_pinterest_source/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": 1656616676.8137841}, "macro.fivetran_utils.timestamp_diff": {"unique_id": "macro.fivetran_utils.timestamp_diff", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.817141}, "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/pinterest/dbt_pinterest_source/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": 1656616676.817346}, "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/pinterest/dbt_pinterest_source/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": 1656616676.817523}, "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/pinterest/dbt_pinterest_source/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": 1656616676.817709}, "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/pinterest/dbt_pinterest_source/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": 1656616676.819652}, "macro.fivetran_utils.try_cast": {"unique_id": "macro.fivetran_utils.try_cast", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.8206542}, "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/pinterest/dbt_pinterest_source/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": 1656616676.820812}, "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/pinterest/dbt_pinterest_source/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": 1656616676.821116}, "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/pinterest/dbt_pinterest_source/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": 1656616676.82143}, "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/pinterest/dbt_pinterest_source/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": 1656616676.821571}, "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/pinterest/dbt_pinterest_source/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": 1656616676.821717}, "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/pinterest/dbt_pinterest_source/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": 1656616676.821852}, "macro.fivetran_utils.source_relation": {"unique_id": "macro.fivetran_utils.source_relation", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.822438}, "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/pinterest/dbt_pinterest_source/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": 1656616676.8230772}, "macro.fivetran_utils.first_value": {"unique_id": "macro.fivetran_utils.first_value", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.823744}, "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/pinterest/dbt_pinterest_source/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": 1656616676.8239932}, "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/pinterest/dbt_pinterest_source/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": 1656616676.824237}, "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/pinterest/dbt_pinterest_source/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": 1656616676.824693}, "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/pinterest/dbt_pinterest_source/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": 1656616676.825823}, "macro.fivetran_utils.union_relations": {"unique_id": "macro.fivetran_utils.union_relations", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.830048}, "macro.fivetran_utils.union_tables": {"unique_id": "macro.fivetran_utils.union_tables", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.830453}, "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/pinterest/dbt_pinterest_source/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": 1656616676.831}, "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/pinterest/dbt_pinterest_source/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": 1656616676.832567}, "macro.fivetran_utils.quote_column": {"unique_id": "macro.fivetran_utils.quote_column", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.833133}, "macro.fivetran_utils.json_extract": {"unique_id": "macro.fivetran_utils.json_extract", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.833869}, "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/pinterest/dbt_pinterest_source/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": 1656616676.834121}, "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/pinterest/dbt_pinterest_source/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": 1656616676.834324}, "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/pinterest/dbt_pinterest_source/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": 1656616676.834558}, "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/pinterest/dbt_pinterest_source/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": 1656616676.834778}, "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/pinterest/dbt_pinterest_source/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": 1656616676.83497}, "macro.fivetran_utils.collect_freshness": {"unique_id": "macro.fivetran_utils.collect_freshness", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.835941}, "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/pinterest/dbt_pinterest_source/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": 1656616676.837107}, "macro.fivetran_utils.timestamp_add": {"unique_id": "macro.fivetran_utils.timestamp_add", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.838015}, "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/pinterest/dbt_pinterest_source/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": 1656616676.838196}, "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/pinterest/dbt_pinterest_source/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": 1656616676.8383832}, "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/pinterest/dbt_pinterest_source/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": 1656616676.838572}, "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/pinterest/dbt_pinterest_source/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": 1656616676.838742}, "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/pinterest/dbt_pinterest_source/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": 1656616676.839031}, "macro.fivetran_utils.ceiling": {"unique_id": "macro.fivetran_utils.ceiling", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.839433}, "macro.fivetran_utils.default__ceiling": {"unique_id": "macro.fivetran_utils.default__ceiling", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.839555}, "macro.fivetran_utils.snowflake__ceiling": {"unique_id": "macro.fivetran_utils.snowflake__ceiling", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.839658}, "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/pinterest/dbt_pinterest_source/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": 1656616676.840451}, "macro.fivetran_utils.union_data": {"unique_id": "macro.fivetran_utils.union_data", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.841829}, "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/pinterest/dbt_pinterest_source/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": 1656616676.844}, "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/pinterest/dbt_pinterest_source/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": 1656616676.845879}, "macro.fivetran_utils.array_agg": {"unique_id": "macro.fivetran_utils.array_agg", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656616676.846287}, "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/pinterest/dbt_pinterest_source/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": 1656616676.84642}, "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/pinterest/dbt_pinterest_source/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": 1656616676.846547}, "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/pinterest/dbt_pinterest_source/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": 1656616676.847065}, "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/pinterest/dbt_pinterest_source/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": 1656616676.847606}, "macro.pinterest_source.get_ad_group_history_columns": {"unique_id": "macro.pinterest_source.get_ad_group_history_columns", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "macros/get_ad_group_history_columns.sql", "original_file_path": "macros/get_ad_group_history_columns.sql", "name": "get_ad_group_history_columns", "macro_sql": "{% macro get_ad_group_history_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"campaign_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"created_time\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"end_time\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"name\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"start_time\", \"datatype\": dbt_utils.type_timestamp()},\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_string"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1656616676.848759}, "macro.pinterest_source.get_pin_promotion_history_columns": {"unique_id": "macro.pinterest_source.get_pin_promotion_history_columns", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "macros/get_pin_promotion_history_columns.sql", "original_file_path": "macros/get_pin_promotion_history_columns.sql", "name": "get_pin_promotion_history_columns", "macro_sql": "{% macro get_pin_promotion_history_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"ad_group_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"android_deep_link\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"click_tracking_url\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"created_time\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"creative_type\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"destination_url\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"ios_deep_link\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"is_pin_deleted\", \"datatype\": \"boolean\"},\n {\"name\": \"is_removable\", \"datatype\": \"boolean\"},\n {\"name\": \"name\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"pin_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"review_status\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"status\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"updated_time\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"view_tracking_url\", \"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_string"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1656616676.851131}, "macro.pinterest_source.get_keyword_report_columns": {"unique_id": "macro.pinterest_source.get_keyword_report_columns", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "macros/get_keyword_report_columns.sql", "original_file_path": "macros/get_keyword_report_columns.sql", "name": "get_keyword_report_columns", "macro_sql": "{% macro get_keyword_report_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"ad_group_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"ad_group_name\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"ad_group_status\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"advertiser_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"campaign_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"clickthrough_1\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"clickthrough_2\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"date\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"impression_1\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"impression_2\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"keyword_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"pin_promotion_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"spend_in_micro_dollar\", \"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_string", "macro.dbt_utils.type_int"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1656616676.85301}, "macro.pinterest_source.get_pin_promotion_report_columns": {"unique_id": "macro.pinterest_source.get_pin_promotion_report_columns", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "macros/get_pin_promotion_report_columns.sql", "original_file_path": "macros/get_pin_promotion_report_columns.sql", "name": "get_pin_promotion_report_columns", "macro_sql": "{% macro get_pin_promotion_report_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"ad_group_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"advertiser_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"campaign_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"clickthrough_1\", \"datatype\": dbt_utils.type_numeric()},\n {\"name\": \"clickthrough_2\", \"datatype\": dbt_utils.type_numeric()},\n {\"name\": \"date\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"impression_1\", \"datatype\": dbt_utils.type_numeric()},\n {\"name\": \"impression_2\", \"datatype\": dbt_utils.type_numeric()},\n {\"name\": \"pin_promotion_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"spend_in_micro_dollar\", \"datatype\": dbt_utils.type_numeric()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.type_timestamp", "macro.dbt_utils.type_string", "macro.dbt_utils.type_numeric"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1656616676.854727}, "macro.pinterest_source.get_campaign_report_columns": {"unique_id": "macro.pinterest_source.get_campaign_report_columns", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "macros/get_campaign_report_columns.sql", "original_file_path": "macros/get_campaign_report_columns.sql", "name": "get_campaign_report_columns", "macro_sql": "{% macro get_campaign_report_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"advertiser_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"campaign_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"campaign_name\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"campaign_status\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"clickthrough_1\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"clickthrough_2\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"date\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"impression_1\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"impression_2\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"spend_in_micro_dollar\", \"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_string", "macro.dbt_utils.type_int"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1656616676.856444}, "macro.pinterest_source.get_campaign_history_columns": {"unique_id": "macro.pinterest_source.get_campaign_history_columns", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_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\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"created_time\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"name\", \"datatype\": dbt_utils.type_string()},\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_string"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1656616676.857353}, "macro.pinterest_source.get_advertiser_history_columns": {"unique_id": "macro.pinterest_source.get_advertiser_history_columns", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "macros/get_advertiser_history_columns.sql", "original_file_path": "macros/get_advertiser_history_columns.sql", "name": "get_advertiser_history_columns", "macro_sql": "{% macro get_advertiser_history_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"billing_profile_status\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"billing_type\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"country\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"created_time\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"currency\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"merchant_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"name\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"owner_user_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"status\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"updated_time\", \"datatype\": dbt_utils.type_timestamp()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.type_timestamp", "macro.dbt_utils.type_string"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1656616676.858955}, "macro.pinterest_source.get_ad_group_report_columns": {"unique_id": "macro.pinterest_source.get_ad_group_report_columns", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "macros/get_ad_group_report_columns.sql", "original_file_path": "macros/get_ad_group_report_columns.sql", "name": "get_ad_group_report_columns", "macro_sql": "{% macro get_ad_group_report_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"ad_group_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"ad_group_name\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"ad_group_status\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"advertiser_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"campaign_id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"clickthrough_1\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"clickthrough_2\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"date\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"impression_1\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"impression_2\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"spend_in_micro_dollar\", \"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_string", "macro.dbt_utils.type_int"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1656616676.8605719}, "macro.pinterest_source.get_keyword_history_columns": {"unique_id": "macro.pinterest_source.get_keyword_history_columns", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "macros/get_keyword_history_columns.sql", "original_file_path": "macros/get_keyword_history_columns.sql", "name": "get_keyword_history_columns", "macro_sql": "{% macro get_keyword_history_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"ad_group_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"advertiser_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"archived\", \"datatype\": \"boolean\"},\n {\"name\": \"bid\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"campaign_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"match_type\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"parent_type\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"value\", \"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": 1656616676.862069}, "macro.pinterest_source.get_advertiser_report_columns": {"unique_id": "macro.pinterest_source.get_advertiser_report_columns", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "macros/get_advertiser_report_columns.sql", "original_file_path": "macros/get_advertiser_report_columns.sql", "name": "get_advertiser_report_columns", "macro_sql": "{% macro get_advertiser_report_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"advertiser_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"clickthrough_1\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"clickthrough_2\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"date\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"impression_1\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"impression_2\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"spend_in_micro_dollar\", \"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_string", "macro.dbt_utils.type_int"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1656616676.8633752}}, "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"}, "pinterest_source._fivetran_synced": {"unique_id": "pinterest_source._fivetran_synced", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "_fivetran_synced", "block_contents": "Timestamp of when a record was last synced."}, "pinterest_source.is_most_recent_record": {"unique_id": "pinterest_source.is_most_recent_record", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "is_most_recent_record", "block_contents": "Boolean representing whether the record is the most recent version of the object."}, "pinterest_source.date_day": {"unique_id": "pinterest_source.date_day", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "date_day", "block_contents": "The performance date of the record."}, "pinterest_source.ad_group_id": {"unique_id": "pinterest_source.ad_group_id", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "ad_group_id", "block_contents": "The ID of the related Ad group."}, "pinterest_source.pin_promotion_id": {"unique_id": "pinterest_source.pin_promotion_id", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "pin_promotion_id", "block_contents": "The ID of the related Pin promotion."}, "pinterest_source.campaign_id": {"unique_id": "pinterest_source.campaign_id", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "campaign_id", "block_contents": "The ID of the related Campaign."}, "pinterest_source.advertiser_id": {"unique_id": "pinterest_source.advertiser_id", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "advertiser_id", "block_contents": "The ID of the related Advertiser."}, "pinterest_source.impressions": {"unique_id": "pinterest_source.impressions", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "impressions", "block_contents": "The number of impressions that occurred on the day of the record."}, "pinterest_source.clicks": {"unique_id": "pinterest_source.clicks", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "clicks", "block_contents": "The number of clicks that occurred on the day of the record."}, "pinterest_source.spend": {"unique_id": "pinterest_source.spend", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "spend", "block_contents": "The amount of spend that occurred on the day of the record."}, "pinterest_source.updated_at": {"unique_id": "pinterest_source.updated_at", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "updated_at", "block_contents": "Timestamp of when a record was last updated."}, "pinterest_source.created_at": {"unique_id": "pinterest_source.created_at", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "created_at", "block_contents": "Timestamp of when a record was created."}, "pinterest_source.spend_in_micro_dollar": {"unique_id": "pinterest_source.spend_in_micro_dollar", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "spend_in_micro_dollar", "block_contents": "The amount of spend in micro dollars that occurred on the day of the record."}, "pinterest_source.clickthrough_1": {"unique_id": "pinterest_source.clickthrough_1", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "clickthrough_1", "block_contents": "The number of paid pin clicks that occurred on the day of the record."}, "pinterest_source.clickthrough_2": {"unique_id": "pinterest_source.clickthrough_2", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "clickthrough_2", "block_contents": "The number of earned outbound clicks that occurred on the day of the record."}, "pinterest_source.impression_1": {"unique_id": "pinterest_source.impression_1", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "impression_1", "block_contents": "The number of paid pin impressions that occurred on the day of the record."}, "pinterest_source.impression_2": {"unique_id": "pinterest_source.impression_2", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "impression_2", "block_contents": "The number of earned pin impressions that occurred on the day of the record."}}, "exposures": {}, "metrics": {}, "selectors": {}, "disabled": {}, "parent_map": {"seed.pinterest_source_integration_tests.ad_group_report_data": [], "seed.pinterest_source_integration_tests.keyword_report_data": [], "seed.pinterest_source_integration_tests.pin_promotion_history_data": [], "seed.pinterest_source_integration_tests.advertiser_history_data": [], "seed.pinterest_source_integration_tests.advertiser_report_data": [], "seed.pinterest_source_integration_tests.ad_group_history_data": [], "seed.pinterest_source_integration_tests.campaign_history_data": [], "seed.pinterest_source_integration_tests.campaign_report_data": [], "seed.pinterest_source_integration_tests.keyword_history_data": [], "seed.pinterest_source_integration_tests.pin_promotion_report_data": [], "model.pinterest_source.stg_pinterest_ads__keyword_report": ["model.pinterest_source.stg_pinterest_ads__keyword_report_tmp", "model.pinterest_source.stg_pinterest_ads__keyword_report_tmp"], "model.pinterest_source.stg_pinterest_ads__ad_group_report": ["model.pinterest_source.stg_pinterest_ads__ad_group_report_tmp", "model.pinterest_source.stg_pinterest_ads__ad_group_report_tmp"], "model.pinterest_source.stg_pinterest_ads__advertiser_report": ["model.pinterest_source.stg_pinterest_ads__advertiser_report_tmp", "model.pinterest_source.stg_pinterest_ads__advertiser_report_tmp"], "model.pinterest_source.stg_pinterest_ads__advertiser_history": ["model.pinterest_source.stg_pinterest_ads__advertiser_history_tmp", "model.pinterest_source.stg_pinterest_ads__advertiser_history_tmp"], "model.pinterest_source.stg_pinterest_ads__campaign_report": ["model.pinterest_source.stg_pinterest_ads__campaign_report_tmp", "model.pinterest_source.stg_pinterest_ads__campaign_report_tmp"], "model.pinterest_source.stg_pinterest_ads__keyword_history": ["model.pinterest_source.stg_pinterest_ads__keyword_history_tmp", "model.pinterest_source.stg_pinterest_ads__keyword_history_tmp"], "model.pinterest_source.stg_pinterest_ads__pin_promotion_report": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_report_tmp", "model.pinterest_source.stg_pinterest_ads__pin_promotion_report_tmp"], "model.pinterest_source.stg_pinterest_ads__advertiser_history_tmp": ["source.pinterest_source.pinterest_ads.advertiser_history"], "model.pinterest_source.stg_pinterest_ads__pin_promotion_report_tmp": ["source.pinterest_source.pinterest_ads.pin_promotion_report"], "model.pinterest_source.stg_pinterest_ads__campaign_report_tmp": ["source.pinterest_source.pinterest_ads.campaign_report"], "model.pinterest_source.stg_pinterest_ads__advertiser_report_tmp": ["source.pinterest_source.pinterest_ads.advertiser_report"], "model.pinterest_source.stg_pinterest_ads__keyword_report_tmp": ["source.pinterest_source.pinterest_ads.keyword_report"], "model.pinterest_source.stg_pinterest_ads__ad_group_report_tmp": ["source.pinterest_source.pinterest_ads.ad_group_report"], "model.pinterest_source.stg_pinterest_ads__keyword_history_tmp": ["source.pinterest_source.pinterest_ads.keyword_history"], "model.pinterest_source.stg_pinterest_ads__campaign_history_tmp": ["source.pinterest_source.pinterest_ads.campaign_history"], "model.pinterest_source.stg_pinterest_ads__ad_group_history_tmp": ["source.pinterest_source.pinterest_ads.ad_group_history"], "model.pinterest_source.stg_pinterest_ads__pin_promotion_history_tmp": ["source.pinterest_source.pinterest_ads.pin_promotion_history"], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_report_date_day__pin_promotion_id.f30a887f4d": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_report"], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_report_date_day__ad_group_id.959c0f8422": ["model.pinterest_source.stg_pinterest_ads__ad_group_report"], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_history_updated_at__advertiser_id.94e8f4de4b": ["model.pinterest_source.stg_pinterest_ads__advertiser_history"], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_report_date_day__advertiser_id.e92ce8a9c0": ["model.pinterest_source.stg_pinterest_ads__advertiser_report"], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_report_date_day__campaign_id.968175d475": ["model.pinterest_source.stg_pinterest_ads__campaign_report"], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_history_keyword_id___fivetran_synced.e73fb0a4db": ["model.pinterest_source.stg_pinterest_ads__keyword_history"], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_report_date_day__keyword_id.fe6a646a5a": ["model.pinterest_source.stg_pinterest_ads__keyword_report"], "model.pinterest_source.stg_pinterest_ads__campaign_history": ["model.pinterest_source.stg_pinterest_ads__campaign_history_tmp", "model.pinterest_source.stg_pinterest_ads__campaign_history_tmp"], "model.pinterest_source.stg_pinterest_ads__ad_group_history": ["model.pinterest_source.stg_pinterest_ads__ad_group_history_tmp", "model.pinterest_source.stg_pinterest_ads__ad_group_history_tmp"], "model.pinterest_source.stg_pinterest_ads__pin_promotion_history": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_history_tmp", "model.pinterest_source.stg_pinterest_ads__pin_promotion_history_tmp"], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_history_campaign_id___fivetran_synced.eff7196b87": ["model.pinterest_source.stg_pinterest_ads__campaign_history"], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_history_ad_group_id___fivetran_synced.1132e1f339": ["model.pinterest_source.stg_pinterest_ads__ad_group_history"], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_history__fivetran_synced__pin_promotion_id.8e9ab31ea9": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_history"], "source.pinterest_source.pinterest_ads.pin_promotion_report": [], "source.pinterest_source.pinterest_ads.pin_promotion_history": [], "source.pinterest_source.pinterest_ads.campaign_history": [], "source.pinterest_source.pinterest_ads.ad_group_history": [], "source.pinterest_source.pinterest_ads.ad_group_report": [], "source.pinterest_source.pinterest_ads.advertiser_history": [], "source.pinterest_source.pinterest_ads.advertiser_report": [], "source.pinterest_source.pinterest_ads.campaign_report": [], "source.pinterest_source.pinterest_ads.keyword_history": [], "source.pinterest_source.pinterest_ads.keyword_report": []}, "child_map": {"seed.pinterest_source_integration_tests.ad_group_report_data": [], "seed.pinterest_source_integration_tests.keyword_report_data": [], "seed.pinterest_source_integration_tests.pin_promotion_history_data": [], "seed.pinterest_source_integration_tests.advertiser_history_data": [], "seed.pinterest_source_integration_tests.advertiser_report_data": [], "seed.pinterest_source_integration_tests.ad_group_history_data": [], "seed.pinterest_source_integration_tests.campaign_history_data": [], "seed.pinterest_source_integration_tests.campaign_report_data": [], "seed.pinterest_source_integration_tests.keyword_history_data": [], "seed.pinterest_source_integration_tests.pin_promotion_report_data": [], "model.pinterest_source.stg_pinterest_ads__keyword_report": ["test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_report_date_day__keyword_id.fe6a646a5a"], "model.pinterest_source.stg_pinterest_ads__ad_group_report": ["test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_report_date_day__ad_group_id.959c0f8422"], "model.pinterest_source.stg_pinterest_ads__advertiser_report": ["test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_report_date_day__advertiser_id.e92ce8a9c0"], "model.pinterest_source.stg_pinterest_ads__advertiser_history": ["test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_history_updated_at__advertiser_id.94e8f4de4b"], "model.pinterest_source.stg_pinterest_ads__campaign_report": ["test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_report_date_day__campaign_id.968175d475"], "model.pinterest_source.stg_pinterest_ads__keyword_history": ["test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_history_keyword_id___fivetran_synced.e73fb0a4db"], "model.pinterest_source.stg_pinterest_ads__pin_promotion_report": ["test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_report_date_day__pin_promotion_id.f30a887f4d"], "model.pinterest_source.stg_pinterest_ads__advertiser_history_tmp": ["model.pinterest_source.stg_pinterest_ads__advertiser_history", "model.pinterest_source.stg_pinterest_ads__advertiser_history"], "model.pinterest_source.stg_pinterest_ads__pin_promotion_report_tmp": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_report", "model.pinterest_source.stg_pinterest_ads__pin_promotion_report"], "model.pinterest_source.stg_pinterest_ads__campaign_report_tmp": ["model.pinterest_source.stg_pinterest_ads__campaign_report", "model.pinterest_source.stg_pinterest_ads__campaign_report"], "model.pinterest_source.stg_pinterest_ads__advertiser_report_tmp": ["model.pinterest_source.stg_pinterest_ads__advertiser_report", "model.pinterest_source.stg_pinterest_ads__advertiser_report"], "model.pinterest_source.stg_pinterest_ads__keyword_report_tmp": ["model.pinterest_source.stg_pinterest_ads__keyword_report", "model.pinterest_source.stg_pinterest_ads__keyword_report"], "model.pinterest_source.stg_pinterest_ads__ad_group_report_tmp": ["model.pinterest_source.stg_pinterest_ads__ad_group_report", "model.pinterest_source.stg_pinterest_ads__ad_group_report"], "model.pinterest_source.stg_pinterest_ads__keyword_history_tmp": ["model.pinterest_source.stg_pinterest_ads__keyword_history", "model.pinterest_source.stg_pinterest_ads__keyword_history"], "model.pinterest_source.stg_pinterest_ads__campaign_history_tmp": ["model.pinterest_source.stg_pinterest_ads__campaign_history", "model.pinterest_source.stg_pinterest_ads__campaign_history"], "model.pinterest_source.stg_pinterest_ads__ad_group_history_tmp": ["model.pinterest_source.stg_pinterest_ads__ad_group_history", "model.pinterest_source.stg_pinterest_ads__ad_group_history"], "model.pinterest_source.stg_pinterest_ads__pin_promotion_history_tmp": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_history", "model.pinterest_source.stg_pinterest_ads__pin_promotion_history"], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_report_date_day__pin_promotion_id.f30a887f4d": [], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_report_date_day__ad_group_id.959c0f8422": [], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_history_updated_at__advertiser_id.94e8f4de4b": [], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_report_date_day__advertiser_id.e92ce8a9c0": [], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_report_date_day__campaign_id.968175d475": [], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_history_keyword_id___fivetran_synced.e73fb0a4db": [], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_report_date_day__keyword_id.fe6a646a5a": [], "model.pinterest_source.stg_pinterest_ads__campaign_history": ["test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_history_campaign_id___fivetran_synced.eff7196b87"], "model.pinterest_source.stg_pinterest_ads__ad_group_history": ["test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_history_ad_group_id___fivetran_synced.1132e1f339"], "model.pinterest_source.stg_pinterest_ads__pin_promotion_history": ["test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_history__fivetran_synced__pin_promotion_id.8e9ab31ea9"], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_history_campaign_id___fivetran_synced.eff7196b87": [], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_history_ad_group_id___fivetran_synced.1132e1f339": [], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_history__fivetran_synced__pin_promotion_id.8e9ab31ea9": [], "source.pinterest_source.pinterest_ads.pin_promotion_report": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_report_tmp"], "source.pinterest_source.pinterest_ads.pin_promotion_history": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_history_tmp"], "source.pinterest_source.pinterest_ads.campaign_history": ["model.pinterest_source.stg_pinterest_ads__campaign_history_tmp"], "source.pinterest_source.pinterest_ads.ad_group_history": ["model.pinterest_source.stg_pinterest_ads__ad_group_history_tmp"], "source.pinterest_source.pinterest_ads.ad_group_report": ["model.pinterest_source.stg_pinterest_ads__ad_group_report_tmp"], "source.pinterest_source.pinterest_ads.advertiser_history": ["model.pinterest_source.stg_pinterest_ads__advertiser_history_tmp"], "source.pinterest_source.pinterest_ads.advertiser_report": ["model.pinterest_source.stg_pinterest_ads__advertiser_report_tmp"], "source.pinterest_source.pinterest_ads.campaign_report": ["model.pinterest_source.stg_pinterest_ads__campaign_report_tmp"], "source.pinterest_source.pinterest_ads.keyword_history": ["model.pinterest_source.stg_pinterest_ads__keyword_history_tmp"], "source.pinterest_source.pinterest_ads.keyword_report": ["model.pinterest_source.stg_pinterest_ads__keyword_report_tmp"]}} \ No newline at end of file +{"metadata": {"dbt_schema_version": "https://schemas.getdbt.com/dbt/manifest/v4.json", "dbt_version": "1.0.4", "generated_at": "2022-06-30T22:37:00.174502Z", "invocation_id": "12ea8e79-f696-403e-91ac-676ccc0e54b3", "env": {}, "project_id": "0c5e93f26aaf82565f2c06106a3cb878", "user_id": "8929baf0-9bc1-477e-9a57-eb8b0db4da62", "send_anonymous_usage_stats": true, "adapter_type": "postgres"}, "nodes": {"seed.pinterest_source_integration_tests.ad_group_report_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", "campaign_id": "bigint", "ad_group_id": "bigint", "pin_id": "bigint", "advertiser_id": "bigint", "pin_promotion_id": "bigint", "keyword_id": "bigint"}, "full_refresh": null, "on_schema_change": "ignore", "quote_columns": true, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "pinterest_source_integration_tests", "fqn": ["pinterest_source_integration_tests", "ad_group_report_data"], "unique_id": "seed.pinterest_source_integration_tests.ad_group_report_data", "package_name": "pinterest_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests", "path": "ad_group_report_data.csv", "original_file_path": "seeds/ad_group_report_data.csv", "name": "ad_group_report_data", "alias": "ad_group_report_data", "checksum": {"name": "sha256", "checksum": "e97c0744fe3e48bcc4f9016c719b37f08e7cf5d2eed93805e0d54678df283662"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type in ('redshift','postgres') else false }}", "column_types": {"id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "ad_group_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "advertiser_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_promotion_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "keyword_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}"}}, "created_at": 1656628609.951689, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"ad_group_report_data\""}, "seed.pinterest_source_integration_tests.keyword_report_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", "campaign_id": "bigint", "ad_group_id": "bigint", "pin_id": "bigint", "advertiser_id": "bigint", "pin_promotion_id": "bigint", "keyword_id": "bigint"}, "full_refresh": null, "on_schema_change": "ignore", "quote_columns": true, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "pinterest_source_integration_tests", "fqn": ["pinterest_source_integration_tests", "keyword_report_data"], "unique_id": "seed.pinterest_source_integration_tests.keyword_report_data", "package_name": "pinterest_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests", "path": "keyword_report_data.csv", "original_file_path": "seeds/keyword_report_data.csv", "name": "keyword_report_data", "alias": "keyword_report_data", "checksum": {"name": "sha256", "checksum": "1035144a7494a5a018e6a87770e8ee67eb6b98f6e899865c1e7c4b1bfc4b6951"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type in ('redshift','postgres') else false }}", "column_types": {"id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "ad_group_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "advertiser_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_promotion_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "keyword_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}"}}, "created_at": 1656628609.957382, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"keyword_report_data\""}, "seed.pinterest_source_integration_tests.pin_promotion_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", "campaign_id": "bigint", "ad_group_id": "bigint", "pin_id": "bigint", "advertiser_id": "bigint", "pin_promotion_id": "bigint", "keyword_id": "bigint"}, "full_refresh": null, "on_schema_change": "ignore", "quote_columns": true, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "pinterest_source_integration_tests", "fqn": ["pinterest_source_integration_tests", "pin_promotion_history_data"], "unique_id": "seed.pinterest_source_integration_tests.pin_promotion_history_data", "package_name": "pinterest_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests", "path": "pin_promotion_history_data.csv", "original_file_path": "seeds/pin_promotion_history_data.csv", "name": "pin_promotion_history_data", "alias": "pin_promotion_history_data", "checksum": {"name": "sha256", "checksum": "6b7c5d891ccb02be0c1e126545984964eb4fa226a9d1ae9741ad76288497e338"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type in ('redshift','postgres') else false }}", "column_types": {"id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "ad_group_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "advertiser_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_promotion_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "keyword_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}"}}, "created_at": 1656628609.958428, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"pin_promotion_history_data\""}, "seed.pinterest_source_integration_tests.advertiser_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", "campaign_id": "bigint", "ad_group_id": "bigint", "pin_id": "bigint", "advertiser_id": "bigint", "pin_promotion_id": "bigint", "keyword_id": "bigint"}, "full_refresh": null, "on_schema_change": "ignore", "quote_columns": true, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "pinterest_source_integration_tests", "fqn": ["pinterest_source_integration_tests", "advertiser_history_data"], "unique_id": "seed.pinterest_source_integration_tests.advertiser_history_data", "package_name": "pinterest_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests", "path": "advertiser_history_data.csv", "original_file_path": "seeds/advertiser_history_data.csv", "name": "advertiser_history_data", "alias": "advertiser_history_data", "checksum": {"name": "sha256", "checksum": "a1efd698a39cc0a75b74b43b84d114eddf6eaac9d3dd7d2a06e704951c091fe4"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type in ('redshift','postgres') else false }}", "column_types": {"id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "ad_group_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "advertiser_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_promotion_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "keyword_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}"}}, "created_at": 1656628609.9594061, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"advertiser_history_data\""}, "seed.pinterest_source_integration_tests.advertiser_report_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", "campaign_id": "bigint", "ad_group_id": "bigint", "pin_id": "bigint", "advertiser_id": "bigint", "pin_promotion_id": "bigint", "keyword_id": "bigint"}, "full_refresh": null, "on_schema_change": "ignore", "quote_columns": true, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "pinterest_source_integration_tests", "fqn": ["pinterest_source_integration_tests", "advertiser_report_data"], "unique_id": "seed.pinterest_source_integration_tests.advertiser_report_data", "package_name": "pinterest_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests", "path": "advertiser_report_data.csv", "original_file_path": "seeds/advertiser_report_data.csv", "name": "advertiser_report_data", "alias": "advertiser_report_data", "checksum": {"name": "sha256", "checksum": "1c259e5a0e32230a041a13947432b02764f30f9a7aa245893c63a386fb2ee60e"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type in ('redshift','postgres') else false }}", "column_types": {"id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "ad_group_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "advertiser_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_promotion_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "keyword_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}"}}, "created_at": 1656628609.960723, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"advertiser_report_data\""}, "seed.pinterest_source_integration_tests.ad_group_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", "campaign_id": "bigint", "ad_group_id": "bigint", "pin_id": "bigint", "advertiser_id": "bigint", "pin_promotion_id": "bigint", "keyword_id": "bigint"}, "full_refresh": null, "on_schema_change": "ignore", "quote_columns": true, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "pinterest_source_integration_tests", "fqn": ["pinterest_source_integration_tests", "ad_group_history_data"], "unique_id": "seed.pinterest_source_integration_tests.ad_group_history_data", "package_name": "pinterest_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests", "path": "ad_group_history_data.csv", "original_file_path": "seeds/ad_group_history_data.csv", "name": "ad_group_history_data", "alias": "ad_group_history_data", "checksum": {"name": "sha256", "checksum": "ff76dce5a5b57b38a03bfc295838b9f05e99e3e310066ac3fc96f7c78e3b6be8"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type in ('redshift','postgres') else false }}", "column_types": {"id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "ad_group_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "advertiser_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_promotion_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "keyword_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}"}}, "created_at": 1656628609.961677, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"ad_group_history_data\""}, "seed.pinterest_source_integration_tests.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", "campaign_id": "bigint", "ad_group_id": "bigint", "pin_id": "bigint", "advertiser_id": "bigint", "pin_promotion_id": "bigint", "keyword_id": "bigint"}, "full_refresh": null, "on_schema_change": "ignore", "quote_columns": true, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "pinterest_source_integration_tests", "fqn": ["pinterest_source_integration_tests", "campaign_history_data"], "unique_id": "seed.pinterest_source_integration_tests.campaign_history_data", "package_name": "pinterest_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests", "path": "campaign_history_data.csv", "original_file_path": "seeds/campaign_history_data.csv", "name": "campaign_history_data", "alias": "campaign_history_data", "checksum": {"name": "sha256", "checksum": "4c2ec13ff8548a5571e2de4601947d72d934669534584fa234099b3200564aab"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type in ('redshift','postgres') else false }}", "column_types": {"id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "ad_group_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "advertiser_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_promotion_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "keyword_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}"}}, "created_at": 1656628609.962632, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"campaign_history_data\""}, "seed.pinterest_source_integration_tests.campaign_report_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", "campaign_id": "bigint", "ad_group_id": "bigint", "pin_id": "bigint", "advertiser_id": "bigint", "pin_promotion_id": "bigint", "keyword_id": "bigint"}, "full_refresh": null, "on_schema_change": "ignore", "quote_columns": true, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "pinterest_source_integration_tests", "fqn": ["pinterest_source_integration_tests", "campaign_report_data"], "unique_id": "seed.pinterest_source_integration_tests.campaign_report_data", "package_name": "pinterest_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests", "path": "campaign_report_data.csv", "original_file_path": "seeds/campaign_report_data.csv", "name": "campaign_report_data", "alias": "campaign_report_data", "checksum": {"name": "sha256", "checksum": "b13c07bb0eabe3bb01f21e3a9ca46d6d549a7ae56668fd3c3bc69ba033586638"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type in ('redshift','postgres') else false }}", "column_types": {"id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "ad_group_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "advertiser_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_promotion_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "keyword_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}"}}, "created_at": 1656628609.963594, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"campaign_report_data\""}, "seed.pinterest_source_integration_tests.keyword_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", "campaign_id": "bigint", "ad_group_id": "bigint", "pin_id": "bigint", "advertiser_id": "bigint", "pin_promotion_id": "bigint", "keyword_id": "bigint"}, "full_refresh": null, "on_schema_change": "ignore", "quote_columns": true, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "pinterest_source_integration_tests", "fqn": ["pinterest_source_integration_tests", "keyword_history_data"], "unique_id": "seed.pinterest_source_integration_tests.keyword_history_data", "package_name": "pinterest_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests", "path": "keyword_history_data.csv", "original_file_path": "seeds/keyword_history_data.csv", "name": "keyword_history_data", "alias": "keyword_history_data", "checksum": {"name": "sha256", "checksum": "589c187cfa8845b5851700d6e10128a158fe860a55a4f4de7f83b1e92226bc9e"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type in ('redshift','postgres') else false }}", "column_types": {"id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "ad_group_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "advertiser_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_promotion_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "keyword_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}"}}, "created_at": 1656628609.964641, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"keyword_history_data\""}, "seed.pinterest_source_integration_tests.pin_promotion_report_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", "campaign_id": "bigint", "ad_group_id": "bigint", "pin_id": "bigint", "advertiser_id": "bigint", "pin_promotion_id": "bigint", "keyword_id": "bigint"}, "full_refresh": null, "on_schema_change": "ignore", "quote_columns": true, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "pinterest_source_integration_tests", "fqn": ["pinterest_source_integration_tests", "pin_promotion_report_data"], "unique_id": "seed.pinterest_source_integration_tests.pin_promotion_report_data", "package_name": "pinterest_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests", "path": "pin_promotion_report_data.csv", "original_file_path": "seeds/pin_promotion_report_data.csv", "name": "pin_promotion_report_data", "alias": "pin_promotion_report_data", "checksum": {"name": "sha256", "checksum": "925cc6b85b3db0a72f4b6caba706aca609a276e4c71786a651c0294b2cd6ad35"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type in ('redshift','postgres') else false }}", "column_types": {"id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "ad_group_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "advertiser_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_promotion_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "keyword_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}"}}, "created_at": 1656628609.9656162, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"pin_promotion_report_data\""}, "model.pinterest_source.stg_pinterest_ads__pin_promotion_history": {"raw_sql": "with base as (\n\n select *\n from {{ ref('stg_pinterest_ads__pin_promotion_history_tmp') }}\n), \n\nfields as (\n\n select\n\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_pinterest_ads__pin_promotion_history_tmp')),\n staging_columns=get_pin_promotion_history_columns()\n )\n }}\n from base\n), \n\nfinal as (\n\n select\n id as pin_promotion_id,\n ad_group_id,\n created_time as created_at,\n destination_url,\n {{ dbt_utils.split_part('destination_url', \"'?'\", 1) }} as base_url,\n {{ dbt_utils.get_url_host('destination_url') }} as url_host,\n '/' || {{ dbt_utils.get_url_path('destination_url') }} as url_path,\n {{ dbt_utils.get_url_parameter('destination_url', 'utm_source') }} as utm_source,\n {{ dbt_utils.get_url_parameter('destination_url', 'utm_medium') }} as utm_medium,\n {{ dbt_utils.get_url_parameter('destination_url', 'utm_campaign') }} as utm_campaign,\n {{ dbt_utils.get_url_parameter('destination_url', 'utm_content') }} as utm_content,\n {{ dbt_utils.get_url_parameter('destination_url', 'utm_term') }} as utm_term,\n name as pin_name,\n pin_id,\n status as pin_status,\n creative_type,\n _fivetran_synced\n from fields\n), \n\nsurrogate_key as (\n\n select \n *,\n row_number() over (partition by pin_promotion_id order by _fivetran_synced desc) = 1 as is_most_recent_record\n from final\n)\n\nselect *\nfrom surrogate_key", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.pinterest_source.get_pin_promotion_history_columns", "macro.fivetran_utils.fill_staging_columns", "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.pinterest_source.stg_pinterest_ads__pin_promotion_history_tmp", "model.pinterest_source.stg_pinterest_ads__pin_promotion_history_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "stg_pinterest_ads__pin_promotion_history"], "unique_id": "model.pinterest_source.stg_pinterest_ads__pin_promotion_history", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "stg_pinterest_ads__pin_promotion_history.sql", "original_file_path": "models/stg_pinterest_ads__pin_promotion_history.sql", "name": "stg_pinterest_ads__pin_promotion_history", "alias": "stg_pinterest_ads__pin_promotion_history", "checksum": {"name": "sha256", "checksum": "e58d90c1bb7d29becd3d75c83d9739700ab06395c88512b82cb292411aa0b846"}, "tags": [], "refs": [["stg_pinterest_ads__pin_promotion_history_tmp"], ["stg_pinterest_ads__pin_promotion_history_tmp"]], "sources": [], "description": "Each record represents a version of a Pinterest Pin promotion.", "columns": {"pin_promotion_id": {"name": "pin_promotion_id", "description": "Pin promotion ID.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_id": {"name": "ad_group_id", "description": "Pin promotion ad group ID.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "created_at": {"name": "created_at", "description": "Pin creation time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "destination_url": {"name": "destination_url", "description": "Pin destination URL.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "pin_name": {"name": "pin_name", "description": "Pin promotion name.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "pin_id": {"name": "pin_id", "description": "Original pin ID.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "pin_status": {"name": "pin_status", "description": "The status of the Pin promotion. One of \"ACTIVE\", \"ARCHIVED\", \"PAUSED\"", "meta": {}, "data_type": null, "quote": null, "tags": []}, "creative_type": {"name": "creative_type", "description": "The creative type. \nOne of \"APP\", \"APP_VIDEO\", \"BOARD\", \"CAROUSEL\", \"CINEMATIC\", \"COMMERCE\", \"MAX_VIDEO\", \"NATIVE_VIDEO\", \"REGULAR\", \n\"SEARCH_PROMINENCE\", \"SEARCH_PROMINENCE_CAROUSEL\", \"SHOPPING\", \"SHOP_THE_PIN\", \"THIRD_PARTY\", or \"VIDEO\".\n", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "is_most_recent_record": {"name": "is_most_recent_record", "description": "Boolean representing whether the record is the most recent version of the object.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "base_url": {"name": "base_url", "description": "The base URL of the ad, extracted from the `destination_url`.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "url_host": {"name": "url_host", "description": "The URL host of the ad, extracted from the `destination_url`.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "url_path": {"name": "url_path", "description": "The URL path of the ad, extracted from the `destination_url`.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "utm_source": {"name": "utm_source", "description": "The utm_source parameter of the ad, extracted from the `destination_url`.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "utm_medium": {"name": "utm_medium", "description": "The utm_medium parameter of the ad, extracted from the `destination_url`.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "utm_campaign": {"name": "utm_campaign", "description": "The utm_campaign parameter of the ad, extracted from the `destination_url`.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "utm_content": {"name": "utm_content", "description": "The utm_content parameter of the ad, extracted from the `destination_url`.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "utm_term": {"name": "utm_term", "description": "The utm_term parameter of the ad, extracted from the `destination_url`.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "pinterest_source://models/stg_pinterest_ads.yml", "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads__pin_promotion_history.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "table"}, "created_at": 1656628610.136626, "compiled_sql": "with base as (\n\n select *\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__pin_promotion_history_tmp\"\n), \n\nfields as (\n\n select\n\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n ad_group_id\n \n as \n \n ad_group_id\n \n, \n cast(null as \n varchar\n) as \n \n android_deep_link\n \n , \n cast(null as \n varchar\n) as \n \n click_tracking_url\n \n , \n \n \n created_time\n \n as \n \n created_time\n \n, \n \n \n creative_type\n \n as \n \n creative_type\n \n, \n \n \n destination_url\n \n as \n \n destination_url\n \n, \n \n \n id\n \n as \n \n id\n \n, \n cast(null as \n varchar\n) as \n \n ios_deep_link\n \n , \n cast(null as boolean) as \n \n is_pin_deleted\n \n , \n cast(null as boolean) as \n \n is_removable\n \n , \n \n \n name\n \n as \n \n name\n \n, \n \n \n pin_id\n \n as \n \n pin_id\n \n, \n cast(null as \n varchar\n) as \n \n review_status\n \n , \n \n \n status\n \n as \n \n status\n \n, \n cast(null as \n timestamp without time zone\n) as \n \n updated_time\n \n , \n cast(null as \n varchar\n) as \n \n view_tracking_url\n \n \n\n\n from base\n), \n\nfinal as (\n\n select\n id as pin_promotion_id,\n ad_group_id,\n created_time as created_at,\n destination_url,\n \n\n \n \n\n split_part(\n destination_url,\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 destination_url,\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 destination_url,\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 destination_url,\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 destination_url,\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 destination_url,\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 nullif(\n\n \n \n\n split_part(\n \n\n \n \n\n split_part(\n destination_url,\n 'utm_source=',\n 2\n )\n\n\n \n\n,\n '&',\n 1\n )\n\n\n \n\n,'') as utm_source,\n nullif(\n\n \n \n\n split_part(\n \n\n \n \n\n split_part(\n destination_url,\n 'utm_medium=',\n 2\n )\n\n\n \n\n,\n '&',\n 1\n )\n\n\n \n\n,'') as utm_medium,\n nullif(\n\n \n \n\n split_part(\n \n\n \n \n\n split_part(\n destination_url,\n 'utm_campaign=',\n 2\n )\n\n\n \n\n,\n '&',\n 1\n )\n\n\n \n\n,'') as utm_campaign,\n nullif(\n\n \n \n\n split_part(\n \n\n \n \n\n split_part(\n destination_url,\n 'utm_content=',\n 2\n )\n\n\n \n\n,\n '&',\n 1\n )\n\n\n \n\n,'') as utm_content,\n nullif(\n\n \n \n\n split_part(\n \n\n \n \n\n split_part(\n destination_url,\n 'utm_term=',\n 2\n )\n\n\n \n\n,\n '&',\n 1\n )\n\n\n \n\n,'') as utm_term,\n name as pin_name,\n pin_id,\n status as pin_status,\n creative_type,\n _fivetran_synced\n from fields\n), \n\nsurrogate_key as (\n\n select \n *,\n row_number() over (partition by pin_promotion_id order by _fivetran_synced desc) = 1 as is_most_recent_record\n from final\n)\n\nselect *\nfrom surrogate_key", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__pin_promotion_history\""}, "model.pinterest_source.stg_pinterest_ads__keyword_report": {"raw_sql": "with base as (\n\n select * \n from {{ ref('stg_pinterest_ads__keyword_report_tmp') }}\n),\n\nfields as (\n\n select\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_pinterest_ads__keyword_report_tmp')),\n staging_columns=get_keyword_report_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select\n date as date_day,\n keyword_id,\n pin_promotion_id,\n ad_group_id,\n ad_group_name,\n ad_group_status,\n campaign_id,\n advertiser_id,\n _fivetran_synced,\n coalesce(impression_1,0) + coalesce(impression_2,0) as impressions,\n coalesce(clickthrough_1,0) + coalesce(clickthrough_2,0) as clicks,\n spend_in_micro_dollar / 1000000.0 as spend\n\n {% for metric in var('pinterest__keyword_report_passthrough_metrics',[]) %}\n , {{ metric }}\n {% endfor %}\n\n from fields\n)\n\nselect *\nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.pinterest_source.get_keyword_report_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.pinterest_source.stg_pinterest_ads__keyword_report_tmp", "model.pinterest_source.stg_pinterest_ads__keyword_report_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "stg_pinterest_ads__keyword_report"], "unique_id": "model.pinterest_source.stg_pinterest_ads__keyword_report", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "stg_pinterest_ads__keyword_report.sql", "original_file_path": "models/stg_pinterest_ads__keyword_report.sql", "name": "stg_pinterest_ads__keyword_report", "alias": "stg_pinterest_ads__keyword_report", "checksum": {"name": "sha256", "checksum": "eae25ceb0443dd7893e97ad960356a12b50bd7d84f25ce57fa726c984efb6bcc"}, "tags": [], "refs": [["stg_pinterest_ads__keyword_report_tmp"], ["stg_pinterest_ads__keyword_report_tmp"]], "sources": [], "description": "Each record represents the daily performance of Keywords.", "columns": {"date_day": {"name": "date_day", "description": "The performance date of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "keyword_id": {"name": "keyword_id", "description": "Unique identifier of the keyword.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "pin_promotion_id": {"name": "pin_promotion_id", "description": "The ID of the related Pin promotion.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_id": {"name": "ad_group_id", "description": "The ID of the related Ad group.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_name": {"name": "ad_group_name", "description": "Name of the ad group.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_status": {"name": "ad_group_status", "description": "Status of the ad group.", "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": []}, "advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impressions": {"name": "impressions", "description": "The number of impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clicks": {"name": "clicks", "description": "The number of clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend": {"name": "spend", "description": "The amount of spend that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "pinterest_source://models/stg_pinterest_ads.yml", "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads__keyword_report.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "table"}, "created_at": 1656628610.1490948, "compiled_sql": "with base as (\n\n select * \n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__keyword_report_tmp\"\n),\n\nfields as (\n\n select\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n ad_group_id\n \n as \n \n ad_group_id\n \n, \n \n \n ad_group_name\n \n as \n \n ad_group_name\n \n, \n \n \n ad_group_status\n \n as \n \n ad_group_status\n \n, \n \n \n advertiser_id\n \n as \n \n advertiser_id\n \n, \n \n \n campaign_id\n \n as \n \n campaign_id\n \n, \n \n \n clickthrough_1\n \n as \n \n clickthrough_1\n \n, \n cast(null as \n int\n) as \n \n clickthrough_2\n \n , \n \n \n date\n \n as \n \n date\n \n, \n \n \n impression_1\n \n as \n \n impression_1\n \n, \n cast(null as \n int\n) as \n \n impression_2\n \n , \n \n \n keyword_id\n \n as \n \n keyword_id\n \n, \n \n \n pin_promotion_id\n \n as \n \n pin_promotion_id\n \n, \n \n \n spend_in_micro_dollar\n \n as \n \n spend_in_micro_dollar\n \n\n\n\n from base\n),\n\nfinal as (\n \n select\n date as date_day,\n keyword_id,\n pin_promotion_id,\n ad_group_id,\n ad_group_name,\n ad_group_status,\n campaign_id,\n advertiser_id,\n _fivetran_synced,\n coalesce(impression_1,0) + coalesce(impression_2,0) as impressions,\n coalesce(clickthrough_1,0) + coalesce(clickthrough_2,0) as clicks,\n spend_in_micro_dollar / 1000000.0 as spend\n\n \n\n from fields\n)\n\nselect *\nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__keyword_report\""}, "model.pinterest_source.stg_pinterest_ads__ad_group_report": {"raw_sql": "with base as (\n\n select * \n from {{ ref('stg_pinterest_ads__ad_group_report_tmp') }}\n),\n\nfields as (\n\n select\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_pinterest_ads__ad_group_report_tmp')),\n staging_columns=get_ad_group_report_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select \n date as date_day,\n ad_group_id,\n ad_group_name,\n ad_group_status,\n campaign_id,\n advertiser_id,\n _fivetran_synced,\n coalesce(impression_1,0) + coalesce(impression_2,0) as impressions,\n coalesce(clickthrough_1,0) + coalesce(clickthrough_2,0) as clicks,\n spend_in_micro_dollar / 1000000.0 as spend\n\n {% for metric in var('pinterest__ad_group_report_passthrough_metrics',[]) %}\n , {{ metric }}\n {% endfor %}\n\n from fields\n)\n\nselect *\nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.pinterest_source.get_ad_group_report_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.pinterest_source.stg_pinterest_ads__ad_group_report_tmp", "model.pinterest_source.stg_pinterest_ads__ad_group_report_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "stg_pinterest_ads__ad_group_report"], "unique_id": "model.pinterest_source.stg_pinterest_ads__ad_group_report", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "stg_pinterest_ads__ad_group_report.sql", "original_file_path": "models/stg_pinterest_ads__ad_group_report.sql", "name": "stg_pinterest_ads__ad_group_report", "alias": "stg_pinterest_ads__ad_group_report", "checksum": {"name": "sha256", "checksum": "a1988f317cfd1fc918ea6590be28581a9cb169ecfef2005742229a3d685f0f6b"}, "tags": [], "refs": [["stg_pinterest_ads__ad_group_report_tmp"], ["stg_pinterest_ads__ad_group_report_tmp"]], "sources": [], "description": "Each record represents the daily performance of a Pinterest Ad Groups.", "columns": {"date_day": {"name": "date_day", "description": "The performance date of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_id": {"name": "ad_group_id", "description": "The ID of the related Ad group.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_name": {"name": "ad_group_name", "description": "Name of the ad group.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_status": {"name": "ad_group_status", "description": "Status of the ad group.", "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": []}, "advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impressions": {"name": "impressions", "description": "The number of impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clicks": {"name": "clicks", "description": "The number of clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend": {"name": "spend", "description": "The amount of spend that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "pinterest_source://models/stg_pinterest_ads.yml", "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads__ad_group_report.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "table"}, "created_at": 1656628610.140011, "compiled_sql": "with base as (\n\n select * \n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__ad_group_report_tmp\"\n),\n\nfields as (\n\n select\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n ad_group_id\n \n as \n \n ad_group_id\n \n, \n \n \n ad_group_name\n \n as \n \n ad_group_name\n \n, \n \n \n ad_group_status\n \n as \n \n ad_group_status\n \n, \n \n \n advertiser_id\n \n as \n \n advertiser_id\n \n, \n \n \n campaign_id\n \n as \n \n campaign_id\n \n, \n \n \n clickthrough_1\n \n as \n \n clickthrough_1\n \n, \n cast(null as \n int\n) as \n \n clickthrough_2\n \n , \n \n \n date\n \n as \n \n date\n \n, \n \n \n impression_1\n \n as \n \n impression_1\n \n, \n cast(null as \n int\n) as \n \n impression_2\n \n , \n \n \n spend_in_micro_dollar\n \n as \n \n spend_in_micro_dollar\n \n\n\n\n from base\n),\n\nfinal as (\n \n select \n date as date_day,\n ad_group_id,\n ad_group_name,\n ad_group_status,\n campaign_id,\n advertiser_id,\n _fivetran_synced,\n coalesce(impression_1,0) + coalesce(impression_2,0) as impressions,\n coalesce(clickthrough_1,0) + coalesce(clickthrough_2,0) as clicks,\n spend_in_micro_dollar / 1000000.0 as spend\n\n \n\n from fields\n)\n\nselect *\nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__ad_group_report\""}, "model.pinterest_source.stg_pinterest_ads__campaign_history": {"raw_sql": "with base as (\n\n select *\n from {{ ref('stg_pinterest_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_pinterest_ads__campaign_history_tmp')),\n staging_columns=get_campaign_history_columns()\n )\n }}\n from base\n), \n\nfinal as (\n\n select \n id as campaign_id,\n name as campaign_name,\n advertiser_id,\n status as campaign_status,\n _fivetran_synced,\n created_time as created_at\n from fields\n),\n\nmost_recent as (\n select \n *,\n row_number() over (partition by campaign_id order by _fivetran_synced desc) = 1 as is_most_recent_record\n from final\n)\n\nselect *\nfrom most_recent", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.pinterest_source.get_campaign_history_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.pinterest_source.stg_pinterest_ads__campaign_history_tmp", "model.pinterest_source.stg_pinterest_ads__campaign_history_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "stg_pinterest_ads__campaign_history"], "unique_id": "model.pinterest_source.stg_pinterest_ads__campaign_history", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "stg_pinterest_ads__campaign_history.sql", "original_file_path": "models/stg_pinterest_ads__campaign_history.sql", "name": "stg_pinterest_ads__campaign_history", "alias": "stg_pinterest_ads__campaign_history", "checksum": {"name": "sha256", "checksum": "dc5acb7c99056c415b7b7819b6054f15750b165179f7e55ab21afb705088b6eb"}, "tags": [], "refs": [["stg_pinterest_ads__campaign_history_tmp"], ["stg_pinterest_ads__campaign_history_tmp"]], "sources": [], "description": "Each record represents a version of a Pinterest Campaign.", "columns": {"campaign_id": {"name": "campaign_id", "description": "The ID of the related Campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "created_at": {"name": "created_at", "description": "Campaign creation time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_name": {"name": "campaign_name", "description": "Campaign name.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_status": {"name": "campaign_status", "description": "The status of the Campaign. One of \"ACTIVE\", \"ARCHIVED\", \"PAUSED\"", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "is_most_recent_record": {"name": "is_most_recent_record", "description": "Boolean representing whether the record is the most recent version of the object.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "pinterest_source://models/stg_pinterest_ads.yml", "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads__campaign_history.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "table"}, "created_at": 1656628610.133677, "compiled_sql": "with base as (\n\n select *\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__campaign_history_tmp\"\n), \n\nfields as (\n\n select\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n created_time\n \n as \n \n created_time\n \n, \n \n \n id\n \n as \n \n id\n \n, \n \n \n advertiser_id\n \n as \n \n advertiser_id\n \n, \n \n \n name\n \n as \n \n name\n \n, \n \n \n status\n \n as \n \n status\n \n\n\n\n from base\n), \n\nfinal as (\n\n select \n id as campaign_id,\n name as campaign_name,\n advertiser_id,\n status as campaign_status,\n _fivetran_synced,\n created_time as created_at\n from fields\n),\n\nmost_recent as (\n select \n *,\n row_number() over (partition by campaign_id order by _fivetran_synced desc) = 1 as is_most_recent_record\n from final\n)\n\nselect *\nfrom most_recent", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__campaign_history\""}, "model.pinterest_source.stg_pinterest_ads__advertiser_report": {"raw_sql": "with base as (\n\n select * \n from {{ ref('stg_pinterest_ads__advertiser_report_tmp') }}\n),\n\nfields as (\n\n select\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_pinterest_ads__advertiser_report_tmp')),\n staging_columns=get_advertiser_report_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select \n date as date_day,\n advertiser_id,\n _fivetran_synced,\n coalesce(impression_1,0) + coalesce(impression_2,0) as impressions,\n coalesce(clickthrough_1,0) + coalesce(clickthrough_2,0) as clicks,\n spend_in_micro_dollar / 1000000.0 as spend\n\n {% for metric in var('pinterest__advertiser_report_passthrough_metrics',[]) %}\n , {{ metric }}\n {% endfor %}\n\n from fields\n)\n\nselect *\nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.pinterest_source.get_advertiser_report_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.pinterest_source.stg_pinterest_ads__advertiser_report_tmp", "model.pinterest_source.stg_pinterest_ads__advertiser_report_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "stg_pinterest_ads__advertiser_report"], "unique_id": "model.pinterest_source.stg_pinterest_ads__advertiser_report", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "stg_pinterest_ads__advertiser_report.sql", "original_file_path": "models/stg_pinterest_ads__advertiser_report.sql", "name": "stg_pinterest_ads__advertiser_report", "alias": "stg_pinterest_ads__advertiser_report", "checksum": {"name": "sha256", "checksum": "00f1298fed5bfaba91fc3c7bfb8706e29fd9b02ddc3223a8b2957cdc9d6cdd08"}, "tags": [], "refs": [["stg_pinterest_ads__advertiser_report_tmp"], ["stg_pinterest_ads__advertiser_report_tmp"]], "sources": [], "description": "Each record represents the daily performance of an Advertiser.", "columns": {"date_day": {"name": "date_day", "description": "The performance date of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impressions": {"name": "impressions", "description": "The number of impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clicks": {"name": "clicks", "description": "The number of clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend": {"name": "spend", "description": "The amount of spend that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "pinterest_source://models/stg_pinterest_ads.yml", "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads__advertiser_report.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "table"}, "created_at": 1656628610.143281, "compiled_sql": "with base as (\n\n select * \n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__advertiser_report_tmp\"\n),\n\nfields as (\n\n select\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n advertiser_id\n \n as \n \n advertiser_id\n \n, \n \n \n clickthrough_1\n \n as \n \n clickthrough_1\n \n, \n cast(null as \n int\n) as \n \n clickthrough_2\n \n , \n \n \n date\n \n as \n \n date\n \n, \n \n \n impression_1\n \n as \n \n impression_1\n \n, \n cast(null as \n int\n) as \n \n impression_2\n \n , \n \n \n spend_in_micro_dollar\n \n as \n \n spend_in_micro_dollar\n \n\n\n\n from base\n),\n\nfinal as (\n \n select \n date as date_day,\n advertiser_id,\n _fivetran_synced,\n coalesce(impression_1,0) + coalesce(impression_2,0) as impressions,\n coalesce(clickthrough_1,0) + coalesce(clickthrough_2,0) as clicks,\n spend_in_micro_dollar / 1000000.0 as spend\n\n \n\n from fields\n)\n\nselect *\nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__advertiser_report\""}, "model.pinterest_source.stg_pinterest_ads__advertiser_history": {"raw_sql": "with base as (\n\n select * \n from {{ ref('stg_pinterest_ads__advertiser_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_pinterest_ads__advertiser_history_tmp')),\n staging_columns=get_advertiser_history_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select \n id as advertiser_id,\n name as advertiser_name,\n status as advertiser_status,\n billing_profile_status,\n billing_type,\n country,\n created_time as created_at,\n currency as currency_code,\n merchant_id,\n owner_user_id,\n updated_time as updated_at,\n _fivetran_synced\n from fields\n),\n\nmost_recent as (\n select\n *,\n row_number() over (partition by advertiser_id order by updated_at desc) = 1 as is_most_recent_record\n from final\n\n)\n\nselect *\nfrom most_recent", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.pinterest_source.get_advertiser_history_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.pinterest_source.stg_pinterest_ads__advertiser_history_tmp", "model.pinterest_source.stg_pinterest_ads__advertiser_history_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "stg_pinterest_ads__advertiser_history"], "unique_id": "model.pinterest_source.stg_pinterest_ads__advertiser_history", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "stg_pinterest_ads__advertiser_history.sql", "original_file_path": "models/stg_pinterest_ads__advertiser_history.sql", "name": "stg_pinterest_ads__advertiser_history", "alias": "stg_pinterest_ads__advertiser_history", "checksum": {"name": "sha256", "checksum": "7f7ae9e58839afabbf48f31338a9edef6cb6a94a86a0339f5dd007ef454f2bfb"}, "tags": [], "refs": [["stg_pinterest_ads__advertiser_history_tmp"], ["stg_pinterest_ads__advertiser_history_tmp"]], "sources": [], "description": "Each record represents a version of an advertiser.", "columns": {"advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "advertiser_name": {"name": "advertiser_name", "description": "Name of the advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "advertiser_status": {"name": "advertiser_status", "description": "Status of the advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "billing_profile_status": {"name": "billing_profile_status", "description": "Status of the billing profile.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "billing_type": {"name": "billing_type", "description": "The billing type of the advertiser. Will typically be CREDIT_CARD or INVOICE.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "country": {"name": "country", "description": "The country code where the advertiser is located.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "created_at": {"name": "created_at", "description": "Timestamp of when a record was created.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "currency_code": {"name": "currency_code", "description": "The currency code which the a", "meta": {}, "data_type": null, "quote": null, "tags": []}, "merchant_id": {"name": "merchant_id", "description": "Unique ID of the merchant associated with the advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "owner_user_id": {"name": "owner_user_id", "description": "Unique identifier of the owner user.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "updated_at": {"name": "updated_at", "description": "Timestamp of when a record was last updated.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "is_most_recent_record": {"name": "is_most_recent_record", "description": "Boolean representing whether the record is the most recent version of the object.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "pinterest_source://models/stg_pinterest_ads.yml", "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads__advertiser_history.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "table"}, "created_at": 1656628610.1420789, "compiled_sql": "with base as (\n\n select * \n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__advertiser_history_tmp\"\n),\n\nfields as (\n\n select\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n billing_profile_status\n \n as \n \n billing_profile_status\n \n, \n \n \n billing_type\n \n as \n \n billing_type\n \n, \n \n \n country\n \n as \n \n country\n \n, \n \n \n created_time\n \n as \n \n created_time\n \n, \n \n \n currency\n \n as \n \n currency\n \n, \n \n \n id\n \n as \n \n id\n \n, \n \n \n merchant_id\n \n as \n \n merchant_id\n \n, \n \n \n name\n \n as \n \n name\n \n, \n \n \n owner_user_id\n \n as \n \n owner_user_id\n \n, \n \n \n status\n \n as \n \n status\n \n, \n \n \n updated_time\n \n as \n \n updated_time\n \n\n\n\n from base\n),\n\nfinal as (\n \n select \n id as advertiser_id,\n name as advertiser_name,\n status as advertiser_status,\n billing_profile_status,\n billing_type,\n country,\n created_time as created_at,\n currency as currency_code,\n merchant_id,\n owner_user_id,\n updated_time as updated_at,\n _fivetran_synced\n from fields\n),\n\nmost_recent as (\n select\n *,\n row_number() over (partition by advertiser_id order by updated_at desc) = 1 as is_most_recent_record\n from final\n\n)\n\nselect *\nfrom most_recent", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__advertiser_history\""}, "model.pinterest_source.stg_pinterest_ads__campaign_report": {"raw_sql": "with base as (\n\n select * \n from {{ ref('stg_pinterest_ads__campaign_report_tmp') }}\n),\n\nfields as (\n\n select\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_pinterest_ads__campaign_report_tmp')),\n staging_columns=get_campaign_report_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select \n date as date_day,\n campaign_id,\n campaign_name,\n campaign_status,\n advertiser_id,\n _fivetran_synced,\n coalesce(impression_1,0) + coalesce(impression_2,0) as impressions,\n coalesce(clickthrough_1,0) + coalesce(clickthrough_2,0) as clicks,\n spend_in_micro_dollar / 1000000.0 as spend\n\n {% for metric in var('pinterest__campaign_report_passthrough_metrics',[]) %}\n , {{ metric }}\n {% endfor %}\n\n from fields\n)\n\nselect *\nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.pinterest_source.get_campaign_report_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.pinterest_source.stg_pinterest_ads__campaign_report_tmp", "model.pinterest_source.stg_pinterest_ads__campaign_report_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "stg_pinterest_ads__campaign_report"], "unique_id": "model.pinterest_source.stg_pinterest_ads__campaign_report", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "stg_pinterest_ads__campaign_report.sql", "original_file_path": "models/stg_pinterest_ads__campaign_report.sql", "name": "stg_pinterest_ads__campaign_report", "alias": "stg_pinterest_ads__campaign_report", "checksum": {"name": "sha256", "checksum": "b899813e905096e91f44ca3d1f6f138cca698dc5185f5cdc7c52e443d0e395be"}, "tags": [], "refs": [["stg_pinterest_ads__campaign_report_tmp"], ["stg_pinterest_ads__campaign_report_tmp"]], "sources": [], "description": "Each record represents the daily performance of Campaigns.", "columns": {"date_day": {"name": "date_day", "description": "The performance date of the record.", "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": "Name of the campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_status": {"name": "campaign_status", "description": "Status of the campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impressions": {"name": "impressions", "description": "The number of impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clicks": {"name": "clicks", "description": "The number of clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend": {"name": "spend", "description": "The amount of spend that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "pinterest_source://models/stg_pinterest_ads.yml", "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads__campaign_report.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "table"}, "created_at": 1656628610.145014, "compiled_sql": "with base as (\n\n select * \n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__campaign_report_tmp\"\n),\n\nfields as (\n\n select\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n advertiser_id\n \n as \n \n advertiser_id\n \n, \n \n \n campaign_id\n \n as \n \n campaign_id\n \n, \n \n \n campaign_name\n \n as \n \n campaign_name\n \n, \n \n \n campaign_status\n \n as \n \n campaign_status\n \n, \n \n \n clickthrough_1\n \n as \n \n clickthrough_1\n \n, \n cast(null as \n int\n) as \n \n clickthrough_2\n \n , \n \n \n date\n \n as \n \n date\n \n, \n \n \n impression_1\n \n as \n \n impression_1\n \n, \n cast(null as \n int\n) as \n \n impression_2\n \n , \n \n \n spend_in_micro_dollar\n \n as \n \n spend_in_micro_dollar\n \n\n\n\n from base\n),\n\nfinal as (\n \n select \n date as date_day,\n campaign_id,\n campaign_name,\n campaign_status,\n advertiser_id,\n _fivetran_synced,\n coalesce(impression_1,0) + coalesce(impression_2,0) as impressions,\n coalesce(clickthrough_1,0) + coalesce(clickthrough_2,0) as clicks,\n spend_in_micro_dollar / 1000000.0 as spend\n\n \n\n from fields\n)\n\nselect *\nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__campaign_report\""}, "model.pinterest_source.stg_pinterest_ads__keyword_history": {"raw_sql": "with base as (\n\n select * \n from {{ ref('stg_pinterest_ads__keyword_history_tmp') }}\n),\n\nfields as (\n\n select\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_pinterest_ads__keyword_history_tmp')),\n staging_columns=get_keyword_history_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select\n id as keyword_id,\n value as keyword_value,\n _fivetran_id,\n _fivetran_synced,\n ad_group_id,\n advertiser_id,\n archived,\n bid,\n campaign_id,\n match_type,\n parent_type\n from fields\n),\n\nmost_recent as (\n select\n *,\n row_number() over (partition by keyword_id order by _fivetran_synced desc) = 1 as is_most_recent_record\n from final\n)\n\nselect *\nfrom most_recent", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.pinterest_source.get_keyword_history_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.pinterest_source.stg_pinterest_ads__keyword_history_tmp", "model.pinterest_source.stg_pinterest_ads__keyword_history_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "stg_pinterest_ads__keyword_history"], "unique_id": "model.pinterest_source.stg_pinterest_ads__keyword_history", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "stg_pinterest_ads__keyword_history.sql", "original_file_path": "models/stg_pinterest_ads__keyword_history.sql", "name": "stg_pinterest_ads__keyword_history", "alias": "stg_pinterest_ads__keyword_history", "checksum": {"name": "sha256", "checksum": "699cd5961a1e73f18759bc85f569a503a381173579b2aa02bc27e1e8ae33fefd"}, "tags": [], "refs": [["stg_pinterest_ads__keyword_history_tmp"], ["stg_pinterest_ads__keyword_history_tmp"]], "sources": [], "description": "Each record represents the daily performance of a Keyword.", "columns": {"keyword_id": {"name": "keyword_id", "description": "Unique identifier of the keyword.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "keyword_value": {"name": "keyword_value", "description": "The text value that makes upd the keyword.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_id": {"name": "_fivetran_id", "description": "The unique identifier of the record within the Fivetran synced table.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_id": {"name": "ad_group_id", "description": "The ID of the related Ad group.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "archived": {"name": "archived", "description": "Boolean indicating if the keyword is archived.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "bid": {"name": "bid", "description": "Bid amount set for the keyword.", "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": []}, "match_type": {"name": "match_type", "description": "Type of match the keyword is tied to. Either Exact or Broad.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "parent_type": {"name": "parent_type", "description": "Identifier of what grain the parent type is. Ad group or campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "is_most_recent_record": {"name": "is_most_recent_record", "description": "Boolean representing whether the record is the most recent version of the object.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "pinterest_source://models/stg_pinterest_ads.yml", "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads__keyword_history.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "table"}, "created_at": 1656628610.147061, "compiled_sql": "with base as (\n\n select * \n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__keyword_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 ad_group_id\n \n as \n \n ad_group_id\n \n, \n \n \n advertiser_id\n \n as \n \n advertiser_id\n \n, \n \n \n archived\n \n as \n \n archived\n \n, \n \n \n bid\n \n as \n \n bid\n \n, \n \n \n campaign_id\n \n as \n \n campaign_id\n \n, \n \n \n id\n \n as \n \n id\n \n, \n \n \n match_type\n \n as \n \n match_type\n \n, \n \n \n parent_type\n \n as \n \n parent_type\n \n, \n \n \n value\n \n as \n \n value\n \n\n\n\n from base\n),\n\nfinal as (\n \n select\n id as keyword_id,\n value as keyword_value,\n _fivetran_id,\n _fivetran_synced,\n ad_group_id,\n advertiser_id,\n archived,\n bid,\n campaign_id,\n match_type,\n parent_type\n from fields\n),\n\nmost_recent as (\n select\n *,\n row_number() over (partition by keyword_id order by _fivetran_synced desc) = 1 as is_most_recent_record\n from final\n)\n\nselect *\nfrom most_recent", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__keyword_history\""}, "model.pinterest_source.stg_pinterest_ads__pin_promotion_report": {"raw_sql": "with base as (\n\n select *\n from {{ ref('stg_pinterest_ads__pin_promotion_report_tmp') }}\n), \n\nfields as (\n\n select\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_pinterest_ads__pin_promotion_report_tmp')),\n staging_columns=get_pin_promotion_report_columns()\n )\n }}\n from base\n), \n\nfinal as (\n\n select \n date as date_day,\n pin_promotion_id,\n ad_group_id,\n campaign_id,\n advertiser_id,\n _fivetran_synced,\n coalesce(impression_1,0) + coalesce(impression_2,0) as impressions,\n coalesce(clickthrough_1,0) + coalesce(clickthrough_2,0) as clicks,\n spend_in_micro_dollar / 1000000.0 as spend\n\n {% for metric in var('pinterest__pin_promotion_report_passthrough_metrics',[]) %}\n , {{ metric }}\n {% endfor %}\n\n from fields\n)\n\nselect *\nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.pinterest_source.get_pin_promotion_report_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_report_tmp", "model.pinterest_source.stg_pinterest_ads__pin_promotion_report_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "stg_pinterest_ads__pin_promotion_report"], "unique_id": "model.pinterest_source.stg_pinterest_ads__pin_promotion_report", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "stg_pinterest_ads__pin_promotion_report.sql", "original_file_path": "models/stg_pinterest_ads__pin_promotion_report.sql", "name": "stg_pinterest_ads__pin_promotion_report", "alias": "stg_pinterest_ads__pin_promotion_report", "checksum": {"name": "sha256", "checksum": "e0222fd677275d81b0f58343ffc12df5e78b733fb0d10634ee28633ffccfeaee"}, "tags": [], "refs": [["stg_pinterest_ads__pin_promotion_report_tmp"], ["stg_pinterest_ads__pin_promotion_report_tmp"]], "sources": [], "description": "Each record represents the daily performance of a Pinterest Pin promotion.", "columns": {"date_day": {"name": "date_day", "description": "The performance date of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "pin_promotion_id": {"name": "pin_promotion_id", "description": "The ID of the related Pin promotion.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_id": {"name": "ad_group_id", "description": "The ID of the related Ad group.", "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": []}, "advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impressions": {"name": "impressions", "description": "The number of impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clicks": {"name": "clicks", "description": "The number of clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend": {"name": "spend", "description": "The amount of spend that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "pinterest_source://models/stg_pinterest_ads.yml", "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads__pin_promotion_report.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "table"}, "created_at": 1656628610.1382668, "compiled_sql": "with base as (\n\n select *\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__pin_promotion_report_tmp\"\n), \n\nfields as (\n\n select\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n ad_group_id\n \n as \n \n ad_group_id\n \n, \n \n \n advertiser_id\n \n as \n \n advertiser_id\n \n, \n \n \n campaign_id\n \n as \n \n campaign_id\n \n, \n \n \n clickthrough_1\n \n as \n \n clickthrough_1\n \n, \n \n \n clickthrough_2\n \n as \n \n clickthrough_2\n \n, \n \n \n date\n \n as \n \n date\n \n, \n \n \n impression_1\n \n as \n \n impression_1\n \n, \n \n \n impression_2\n \n as \n \n impression_2\n \n, \n \n \n pin_promotion_id\n \n as \n \n pin_promotion_id\n \n, \n \n \n spend_in_micro_dollar\n \n as \n \n spend_in_micro_dollar\n \n\n\n\n from base\n), \n\nfinal as (\n\n select \n date as date_day,\n pin_promotion_id,\n ad_group_id,\n campaign_id,\n advertiser_id,\n _fivetran_synced,\n coalesce(impression_1,0) + coalesce(impression_2,0) as impressions,\n coalesce(clickthrough_1,0) + coalesce(clickthrough_2,0) as clicks,\n spend_in_micro_dollar / 1000000.0 as spend\n\n \n\n from fields\n)\n\nselect *\nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__pin_promotion_report\""}, "model.pinterest_source.stg_pinterest_ads__ad_group_history": {"raw_sql": "with base as (\n\n select *\n from {{ ref('stg_pinterest_ads__ad_group_history_tmp') }}\n), \n\nfields as (\n\n select\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_pinterest_ads__ad_group_history_tmp')),\n staging_columns=get_ad_group_history_columns()\n )\n }}\n from base\n), \n\nfinal as (\n\n select \n id as ad_group_id,\n name as ad_group_name,\n status as ad_group_status,\n _fivetran_synced,\n campaign_id,\n created_time as created_at,\n end_time,\n start_time\n from fields\n),\n\nmost_recent as (\n select\n *,\n row_number() over (partition by ad_group_id order by _fivetran_synced desc) = 1 as is_most_recent_record\n from final\n)\n\nselect *\nfrom most_recent", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.pinterest_source.get_ad_group_history_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.pinterest_source.stg_pinterest_ads__ad_group_history_tmp", "model.pinterest_source.stg_pinterest_ads__ad_group_history_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "stg_pinterest_ads__ad_group_history"], "unique_id": "model.pinterest_source.stg_pinterest_ads__ad_group_history", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "stg_pinterest_ads__ad_group_history.sql", "original_file_path": "models/stg_pinterest_ads__ad_group_history.sql", "name": "stg_pinterest_ads__ad_group_history", "alias": "stg_pinterest_ads__ad_group_history", "checksum": {"name": "sha256", "checksum": "c84e7a8de947ba3bc3101e41f3ce4686265dc854469da158e839759dc2844303"}, "tags": [], "refs": [["stg_pinterest_ads__ad_group_history_tmp"], ["stg_pinterest_ads__ad_group_history_tmp"]], "sources": [], "description": "Each record represents a version of a Pinterest Ad Group.", "columns": {"ad_group_id": {"name": "ad_group_id", "description": "Ad group ID.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_id": {"name": "campaign_id", "description": "Parent Campaign ID.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "created_at": {"name": "created_at", "description": "Ad group creation time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_name": {"name": "ad_group_name", "description": "Ad group name.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_status": {"name": "ad_group_status", "description": "The status of the Ad group. One of \"ACTIVE\", \"ARCHIVED\", \"PAUSED\"", "meta": {}, "data_type": null, "quote": null, "tags": []}, "start_time": {"name": "start_time", "description": "Ad group start time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "end_time": {"name": "end_time", "description": "Ad group end time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "is_most_recent_record": {"name": "is_most_recent_record", "description": "Boolean representing whether the record is the most recent version of the object.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "pinterest_source://models/stg_pinterest_ads.yml", "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads__ad_group_history.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "table"}, "created_at": 1656628610.1321862, "compiled_sql": "with base as (\n\n select *\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__ad_group_history_tmp\"\n), \n\nfields as (\n\n select\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n campaign_id\n \n as \n \n campaign_id\n \n, \n \n \n created_time\n \n as \n \n created_time\n \n, \n \n \n end_time\n \n as \n \n end_time\n \n, \n \n \n id\n \n as \n \n id\n \n, \n \n \n name\n \n as \n \n name\n \n, \n \n \n start_time\n \n as \n \n start_time\n \n, \n \n \n status\n \n as \n \n status\n \n\n\n\n from base\n), \n\nfinal as (\n\n select \n id as ad_group_id,\n name as ad_group_name,\n status as ad_group_status,\n _fivetran_synced,\n campaign_id,\n created_time as created_at,\n end_time,\n start_time\n from fields\n),\n\nmost_recent as (\n select\n *,\n row_number() over (partition by ad_group_id order by _fivetran_synced desc) = 1 as is_most_recent_record\n from final\n)\n\nselect *\nfrom most_recent", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__ad_group_history\""}, "model.pinterest_source.stg_pinterest_ads__advertiser_history_tmp": {"raw_sql": "select * \nfrom {{ var('advertiser_history') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.pinterest_source.pinterest_ads.advertiser_history"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "tmp", "stg_pinterest_ads__advertiser_history_tmp"], "unique_id": "model.pinterest_source.stg_pinterest_ads__advertiser_history_tmp", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "tmp/stg_pinterest_ads__advertiser_history_tmp.sql", "original_file_path": "models/tmp/stg_pinterest_ads__advertiser_history_tmp.sql", "name": "stg_pinterest_ads__advertiser_history_tmp", "alias": "stg_pinterest_ads__advertiser_history_tmp", "checksum": {"name": "sha256", "checksum": "60dc1039a40b4fd101ac71b52584219ef441b8f3231fab7270a1725731849343"}, "tags": [], "refs": [], "sources": [["pinterest_ads", "advertiser_history"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/tmp/stg_pinterest_ads__advertiser_history_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "view"}, "created_at": 1656628610.091489, "compiled_sql": "select * \nfrom \"postgres\".\"pinterest_source_integration_tests\".\"advertiser_history_data\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__advertiser_history_tmp\""}, "model.pinterest_source.stg_pinterest_ads__pin_promotion_report_tmp": {"raw_sql": "select *\nfrom {{ var('pin_promotion_report') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.pinterest_source.pinterest_ads.pin_promotion_report"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "tmp", "stg_pinterest_ads__pin_promotion_report_tmp"], "unique_id": "model.pinterest_source.stg_pinterest_ads__pin_promotion_report_tmp", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "tmp/stg_pinterest_ads__pin_promotion_report_tmp.sql", "original_file_path": "models/tmp/stg_pinterest_ads__pin_promotion_report_tmp.sql", "name": "stg_pinterest_ads__pin_promotion_report_tmp", "alias": "stg_pinterest_ads__pin_promotion_report_tmp", "checksum": {"name": "sha256", "checksum": "18cfa5bd72f823f350eb4fd5f5400957cc628d66510236ca582e0186f4ed24f4"}, "tags": [], "refs": [], "sources": [["pinterest_ads", "pin_promotion_report"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/tmp/stg_pinterest_ads__pin_promotion_report_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "view"}, "created_at": 1656628610.095745, "compiled_sql": "select *\nfrom \"postgres\".\"pinterest_source_integration_tests\".\"pin_promotion_report_data\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__pin_promotion_report_tmp\""}, "model.pinterest_source.stg_pinterest_ads__campaign_report_tmp": {"raw_sql": "select * \nfrom {{ var('campaign_report') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.pinterest_source.pinterest_ads.campaign_report"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "tmp", "stg_pinterest_ads__campaign_report_tmp"], "unique_id": "model.pinterest_source.stg_pinterest_ads__campaign_report_tmp", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "tmp/stg_pinterest_ads__campaign_report_tmp.sql", "original_file_path": "models/tmp/stg_pinterest_ads__campaign_report_tmp.sql", "name": "stg_pinterest_ads__campaign_report_tmp", "alias": "stg_pinterest_ads__campaign_report_tmp", "checksum": {"name": "sha256", "checksum": "5f611ed15f119a95ac9ba29f2463d1924782790c0678cfca4fd0f25aab4d4296"}, "tags": [], "refs": [], "sources": [["pinterest_ads", "campaign_report"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/tmp/stg_pinterest_ads__campaign_report_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "view"}, "created_at": 1656628610.0989099, "compiled_sql": "select * \nfrom \"postgres\".\"pinterest_source_integration_tests\".\"campaign_report_data\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__campaign_report_tmp\""}, "model.pinterest_source.stg_pinterest_ads__advertiser_report_tmp": {"raw_sql": "select * \nfrom {{ var('advertiser_report') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.pinterest_source.pinterest_ads.advertiser_report"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "tmp", "stg_pinterest_ads__advertiser_report_tmp"], "unique_id": "model.pinterest_source.stg_pinterest_ads__advertiser_report_tmp", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "tmp/stg_pinterest_ads__advertiser_report_tmp.sql", "original_file_path": "models/tmp/stg_pinterest_ads__advertiser_report_tmp.sql", "name": "stg_pinterest_ads__advertiser_report_tmp", "alias": "stg_pinterest_ads__advertiser_report_tmp", "checksum": {"name": "sha256", "checksum": "68f4f29d7cc41371c11bca9e1ac615df584965bb7be78dda187252b1893b6a17"}, "tags": [], "refs": [], "sources": [["pinterest_ads", "advertiser_report"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/tmp/stg_pinterest_ads__advertiser_report_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "view"}, "created_at": 1656628610.1014369, "compiled_sql": "select * \nfrom \"postgres\".\"pinterest_source_integration_tests\".\"advertiser_report_data\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__advertiser_report_tmp\""}, "model.pinterest_source.stg_pinterest_ads__keyword_report_tmp": {"raw_sql": "select * \nfrom {{ var('keyword_report') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.pinterest_source.pinterest_ads.keyword_report"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "tmp", "stg_pinterest_ads__keyword_report_tmp"], "unique_id": "model.pinterest_source.stg_pinterest_ads__keyword_report_tmp", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "tmp/stg_pinterest_ads__keyword_report_tmp.sql", "original_file_path": "models/tmp/stg_pinterest_ads__keyword_report_tmp.sql", "name": "stg_pinterest_ads__keyword_report_tmp", "alias": "stg_pinterest_ads__keyword_report_tmp", "checksum": {"name": "sha256", "checksum": "180a05437502b97ae4654b06e70dee2f2324b4b80815c2be214cdc9cfcb4a99d"}, "tags": [], "refs": [], "sources": [["pinterest_ads", "keyword_report"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/tmp/stg_pinterest_ads__keyword_report_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "view"}, "created_at": 1656628610.104318, "compiled_sql": "select * \nfrom \"postgres\".\"pinterest_source_integration_tests\".\"keyword_report_data\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__keyword_report_tmp\""}, "model.pinterest_source.stg_pinterest_ads__ad_group_report_tmp": {"raw_sql": "select * \nfrom {{ var('ad_group_report') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.pinterest_source.pinterest_ads.ad_group_report"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "tmp", "stg_pinterest_ads__ad_group_report_tmp"], "unique_id": "model.pinterest_source.stg_pinterest_ads__ad_group_report_tmp", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "tmp/stg_pinterest_ads__ad_group_report_tmp.sql", "original_file_path": "models/tmp/stg_pinterest_ads__ad_group_report_tmp.sql", "name": "stg_pinterest_ads__ad_group_report_tmp", "alias": "stg_pinterest_ads__ad_group_report_tmp", "checksum": {"name": "sha256", "checksum": "7302e33164e446b0631e0dda341de8949d3ead51adddb6ba93fbda32b00449e2"}, "tags": [], "refs": [], "sources": [["pinterest_ads", "ad_group_report"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/tmp/stg_pinterest_ads__ad_group_report_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "view"}, "created_at": 1656628610.1073742, "compiled_sql": "select * \nfrom \"postgres\".\"pinterest_source_integration_tests\".\"ad_group_report_data\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__ad_group_report_tmp\""}, "model.pinterest_source.stg_pinterest_ads__keyword_history_tmp": {"raw_sql": "select * \nfrom {{ var('keyword_history') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.pinterest_source.pinterest_ads.keyword_history"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "tmp", "stg_pinterest_ads__keyword_history_tmp"], "unique_id": "model.pinterest_source.stg_pinterest_ads__keyword_history_tmp", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "tmp/stg_pinterest_ads__keyword_history_tmp.sql", "original_file_path": "models/tmp/stg_pinterest_ads__keyword_history_tmp.sql", "name": "stg_pinterest_ads__keyword_history_tmp", "alias": "stg_pinterest_ads__keyword_history_tmp", "checksum": {"name": "sha256", "checksum": "beb1849e58089e1dbb21b3eca90782b48e6de96d5df38693417b91488ac622b1"}, "tags": [], "refs": [], "sources": [["pinterest_ads", "keyword_history"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/tmp/stg_pinterest_ads__keyword_history_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "view"}, "created_at": 1656628610.110187, "compiled_sql": "select * \nfrom \"postgres\".\"pinterest_source_integration_tests\".\"keyword_history_data\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__keyword_history_tmp\""}, "model.pinterest_source.stg_pinterest_ads__campaign_history_tmp": {"raw_sql": "select *\nfrom {{ var('campaign_history') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.pinterest_source.pinterest_ads.campaign_history"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "tmp", "stg_pinterest_ads__campaign_history_tmp"], "unique_id": "model.pinterest_source.stg_pinterest_ads__campaign_history_tmp", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "tmp/stg_pinterest_ads__campaign_history_tmp.sql", "original_file_path": "models/tmp/stg_pinterest_ads__campaign_history_tmp.sql", "name": "stg_pinterest_ads__campaign_history_tmp", "alias": "stg_pinterest_ads__campaign_history_tmp", "checksum": {"name": "sha256", "checksum": "ea41c8d4ba83ff540a5f38f481cbd17406e99954f8b9b7b086ac94203a8dd6bd"}, "tags": [], "refs": [], "sources": [["pinterest_ads", "campaign_history"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/tmp/stg_pinterest_ads__campaign_history_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "view"}, "created_at": 1656628610.112958, "compiled_sql": "select *\nfrom \"postgres\".\"pinterest_source_integration_tests\".\"campaign_history_data\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__campaign_history_tmp\""}, "model.pinterest_source.stg_pinterest_ads__ad_group_history_tmp": {"raw_sql": "select *\nfrom {{ var('ad_group_history') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.pinterest_source.pinterest_ads.ad_group_history"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "tmp", "stg_pinterest_ads__ad_group_history_tmp"], "unique_id": "model.pinterest_source.stg_pinterest_ads__ad_group_history_tmp", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "tmp/stg_pinterest_ads__ad_group_history_tmp.sql", "original_file_path": "models/tmp/stg_pinterest_ads__ad_group_history_tmp.sql", "name": "stg_pinterest_ads__ad_group_history_tmp", "alias": "stg_pinterest_ads__ad_group_history_tmp", "checksum": {"name": "sha256", "checksum": "23726e9b019c8268e9aaae828c6c1430685538bef615e52f2c17436dd3615dfa"}, "tags": [], "refs": [], "sources": [["pinterest_ads", "ad_group_history"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/tmp/stg_pinterest_ads__ad_group_history_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "view"}, "created_at": 1656628610.116661, "compiled_sql": "select *\nfrom \"postgres\".\"pinterest_source_integration_tests\".\"ad_group_history_data\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__ad_group_history_tmp\""}, "model.pinterest_source.stg_pinterest_ads__pin_promotion_history_tmp": {"raw_sql": "select *\nfrom {{ var('pin_promotion_history') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.pinterest_source.pinterest_ads.pin_promotion_history"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "tmp", "stg_pinterest_ads__pin_promotion_history_tmp"], "unique_id": "model.pinterest_source.stg_pinterest_ads__pin_promotion_history_tmp", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "tmp/stg_pinterest_ads__pin_promotion_history_tmp.sql", "original_file_path": "models/tmp/stg_pinterest_ads__pin_promotion_history_tmp.sql", "name": "stg_pinterest_ads__pin_promotion_history_tmp", "alias": "stg_pinterest_ads__pin_promotion_history_tmp", "checksum": {"name": "sha256", "checksum": "065bd24ab667bb3742cf11e3d96295c4c78ecdc04bb4d86a8bfa521482c55e71"}, "tags": [], "refs": [], "sources": [["pinterest_ads", "pin_promotion_history"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/tmp/stg_pinterest_ads__pin_promotion_history_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "view"}, "created_at": 1656628610.1194701, "compiled_sql": "select *\nfrom \"postgres\".\"pinterest_source_integration_tests\".\"pin_promotion_history_data\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__pin_promotion_history_tmp\""}, "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_history_ad_group_id.220c6220be": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "ad_group_id", "model": "{{ get_where_subquery(ref('stg_pinterest_ads__ad_group_history')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.pinterest_source.stg_pinterest_ads__ad_group_history"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "postgres", "schema": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "not_null_stg_pinterest_ads__ad_group_history_ad_group_id"], "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_history_ad_group_id.220c6220be", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "not_null_stg_pinterest_ads__ad_group_history_ad_group_id.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "not_null_stg_pinterest_ads__ad_group_history_ad_group_id", "alias": "not_null_stg_pinterest_ads__ad_group_history_ad_group_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__ad_group_history"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/not_null_stg_pinterest_ads__ad_group_history_ad_group_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1656628610.153436, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__ad_group_history\"\nwhere ad_group_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "ad_group_id", "file_key_name": "models.stg_pinterest_ads__ad_group_history"}, "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_history_ad_group_id___fivetran_synced.1132e1f339": {"raw_sql": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_14ec492421aa290adbd40aba9f38efa7\") }}", "test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["ad_group_id", "_fivetran_synced"], "model": "{{ get_where_subquery(ref('stg_pinterest_ads__ad_group_history')) }}"}, "namespace": "dbt_utils"}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.pinterest_source.stg_pinterest_ads__ad_group_history"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_14ec492421aa290adbd40aba9f38efa7", "schema": "dbt_test__audit", "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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_history_ad_group_id___fivetran_synced"], "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_history_ad_group_id___fivetran_synced.1132e1f339", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "dbt_utils_unique_combination_o_14ec492421aa290adbd40aba9f38efa7.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_history_ad_group_id___fivetran_synced", "alias": "dbt_utils_unique_combination_o_14ec492421aa290adbd40aba9f38efa7", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__ad_group_history"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/dbt_utils_unique_combination_o_14ec492421aa290adbd40aba9f38efa7.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_14ec492421aa290adbd40aba9f38efa7"}, "created_at": 1656628610.154686, "compiled_sql": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n ad_group_id, _fivetran_synced\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__ad_group_history\"\n group by ad_group_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_pinterest_ads__ad_group_history"}, "test.pinterest_source.not_null_stg_pinterest_ads__campaign_history_campaign_id.60cb10d341": {"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_pinterest_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.pinterest_source.stg_pinterest_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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "not_null_stg_pinterest_ads__campaign_history_campaign_id"], "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__campaign_history_campaign_id.60cb10d341", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "not_null_stg_pinterest_ads__campaign_history_campaign_id.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "not_null_stg_pinterest_ads__campaign_history_campaign_id", "alias": "not_null_stg_pinterest_ads__campaign_history_campaign_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__campaign_history"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/not_null_stg_pinterest_ads__campaign_history_campaign_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1656628610.1622221, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_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_pinterest_ads__campaign_history"}, "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_history_campaign_id___fivetran_synced.eff7196b87": {"raw_sql": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_0f71f27ed6b0ce2d4940b4361559871b\") }}", "test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["campaign_id", "_fivetran_synced"], "model": "{{ get_where_subquery(ref('stg_pinterest_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.pinterest_source.stg_pinterest_ads__campaign_history"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_0f71f27ed6b0ce2d4940b4361559871b", "schema": "dbt_test__audit", "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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_history_campaign_id___fivetran_synced"], "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_history_campaign_id___fivetran_synced.eff7196b87", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "dbt_utils_unique_combination_o_0f71f27ed6b0ce2d4940b4361559871b.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_history_campaign_id___fivetran_synced", "alias": "dbt_utils_unique_combination_o_0f71f27ed6b0ce2d4940b4361559871b", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__campaign_history"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/dbt_utils_unique_combination_o_0f71f27ed6b0ce2d4940b4361559871b.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_0f71f27ed6b0ce2d4940b4361559871b"}, "created_at": 1656628610.163753, "compiled_sql": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n campaign_id, _fivetran_synced\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__campaign_history\"\n group by campaign_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_pinterest_ads__campaign_history"}, "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_history_pin_promotion_id.171995cd34": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}{{ config(alias=\"not_null_stg_pinterest_ads__pi_5cf03dfc3d2615f9d68ae62d55aa2b8f\") }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "pin_promotion_id", "model": "{{ get_where_subquery(ref('stg_pinterest_ads__pin_promotion_history')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_history"]}, "config": {"enabled": true, "alias": "not_null_stg_pinterest_ads__pi_5cf03dfc3d2615f9d68ae62d55aa2b8f", "schema": "dbt_test__audit", "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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "not_null_stg_pinterest_ads__pin_promotion_history_pin_promotion_id"], "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_history_pin_promotion_id.171995cd34", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "not_null_stg_pinterest_ads__pi_5cf03dfc3d2615f9d68ae62d55aa2b8f.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "not_null_stg_pinterest_ads__pin_promotion_history_pin_promotion_id", "alias": "not_null_stg_pinterest_ads__pi_5cf03dfc3d2615f9d68ae62d55aa2b8f", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__pin_promotion_history"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/not_null_stg_pinterest_ads__pi_5cf03dfc3d2615f9d68ae62d55aa2b8f.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "not_null_stg_pinterest_ads__pi_5cf03dfc3d2615f9d68ae62d55aa2b8f"}, "created_at": 1656628610.1868002, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__pin_promotion_history\"\nwhere pin_promotion_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "pin_promotion_id", "file_key_name": "models.stg_pinterest_ads__pin_promotion_history"}, "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_history__fivetran_synced__pin_promotion_id.8e9ab31ea9": {"raw_sql": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_e0501de9c3316348957b42725bcba175\") }}", "test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["_fivetran_synced", "pin_promotion_id"], "model": "{{ get_where_subquery(ref('stg_pinterest_ads__pin_promotion_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.pinterest_source.stg_pinterest_ads__pin_promotion_history"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_e0501de9c3316348957b42725bcba175", "schema": "dbt_test__audit", "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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_history__fivetran_synced__pin_promotion_id"], "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_history__fivetran_synced__pin_promotion_id.8e9ab31ea9", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "dbt_utils_unique_combination_o_e0501de9c3316348957b42725bcba175.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_history__fivetran_synced__pin_promotion_id", "alias": "dbt_utils_unique_combination_o_e0501de9c3316348957b42725bcba175", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__pin_promotion_history"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/dbt_utils_unique_combination_o_e0501de9c3316348957b42725bcba175.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_e0501de9c3316348957b42725bcba175"}, "created_at": 1656628610.1881511, "compiled_sql": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n _fivetran_synced, pin_promotion_id\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__pin_promotion_history\"\n group by _fivetran_synced, pin_promotion_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_pinterest_ads__pin_promotion_history"}, "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_report_date_day.ed272212a1": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "date_day", "model": "{{ get_where_subquery(ref('stg_pinterest_ads__pin_promotion_report')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "not_null_stg_pinterest_ads__pin_promotion_report_date_day"], "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_report_date_day.ed272212a1", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "not_null_stg_pinterest_ads__pin_promotion_report_date_day.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "not_null_stg_pinterest_ads__pin_promotion_report_date_day", "alias": "not_null_stg_pinterest_ads__pin_promotion_report_date_day", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__pin_promotion_report"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/not_null_stg_pinterest_ads__pin_promotion_report_date_day.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1656628610.1910489, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__pin_promotion_report\"\nwhere date_day is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "date_day", "file_key_name": "models.stg_pinterest_ads__pin_promotion_report"}, "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_report_pin_promotion_id.9c3c9f71ab": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}{{ config(alias=\"not_null_stg_pinterest_ads__pi_d0985f4b7b2bc6d5ec7f384cc03d6f4b\") }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "pin_promotion_id", "model": "{{ get_where_subquery(ref('stg_pinterest_ads__pin_promotion_report')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_report"]}, "config": {"enabled": true, "alias": "not_null_stg_pinterest_ads__pi_d0985f4b7b2bc6d5ec7f384cc03d6f4b", "schema": "dbt_test__audit", "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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "not_null_stg_pinterest_ads__pin_promotion_report_pin_promotion_id"], "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_report_pin_promotion_id.9c3c9f71ab", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "not_null_stg_pinterest_ads__pi_d0985f4b7b2bc6d5ec7f384cc03d6f4b.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "not_null_stg_pinterest_ads__pin_promotion_report_pin_promotion_id", "alias": "not_null_stg_pinterest_ads__pi_d0985f4b7b2bc6d5ec7f384cc03d6f4b", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__pin_promotion_report"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/not_null_stg_pinterest_ads__pi_d0985f4b7b2bc6d5ec7f384cc03d6f4b.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "not_null_stg_pinterest_ads__pi_d0985f4b7b2bc6d5ec7f384cc03d6f4b"}, "created_at": 1656628610.192069, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__pin_promotion_report\"\nwhere pin_promotion_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "pin_promotion_id", "file_key_name": "models.stg_pinterest_ads__pin_promotion_report"}, "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_report_date_day__pin_promotion_id.f30a887f4d": {"raw_sql": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_f9906fe67b3bd9891734121983e95908\") }}", "test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["date_day", "pin_promotion_id"], "model": "{{ get_where_subquery(ref('stg_pinterest_ads__pin_promotion_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.pinterest_source.stg_pinterest_ads__pin_promotion_report"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_f9906fe67b3bd9891734121983e95908", "schema": "dbt_test__audit", "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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_report_date_day__pin_promotion_id"], "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_report_date_day__pin_promotion_id.f30a887f4d", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "dbt_utils_unique_combination_o_f9906fe67b3bd9891734121983e95908.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_report_date_day__pin_promotion_id", "alias": "dbt_utils_unique_combination_o_f9906fe67b3bd9891734121983e95908", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__pin_promotion_report"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/dbt_utils_unique_combination_o_f9906fe67b3bd9891734121983e95908.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_f9906fe67b3bd9891734121983e95908"}, "created_at": 1656628610.193383, "compiled_sql": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n date_day, pin_promotion_id\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__pin_promotion_report\"\n group by date_day, pin_promotion_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_pinterest_ads__pin_promotion_report"}, "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_report_date_day.80e8904c4c": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "date_day", "model": "{{ get_where_subquery(ref('stg_pinterest_ads__ad_group_report')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.pinterest_source.stg_pinterest_ads__ad_group_report"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "postgres", "schema": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "not_null_stg_pinterest_ads__ad_group_report_date_day"], "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_report_date_day.80e8904c4c", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "not_null_stg_pinterest_ads__ad_group_report_date_day.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "not_null_stg_pinterest_ads__ad_group_report_date_day", "alias": "not_null_stg_pinterest_ads__ad_group_report_date_day", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__ad_group_report"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/not_null_stg_pinterest_ads__ad_group_report_date_day.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1656628610.196383, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__ad_group_report\"\nwhere date_day is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "date_day", "file_key_name": "models.stg_pinterest_ads__ad_group_report"}, "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_report_ad_group_id.bb8cf3c471": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "ad_group_id", "model": "{{ get_where_subquery(ref('stg_pinterest_ads__ad_group_report')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.pinterest_source.stg_pinterest_ads__ad_group_report"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "postgres", "schema": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "not_null_stg_pinterest_ads__ad_group_report_ad_group_id"], "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_report_ad_group_id.bb8cf3c471", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "not_null_stg_pinterest_ads__ad_group_report_ad_group_id.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "not_null_stg_pinterest_ads__ad_group_report_ad_group_id", "alias": "not_null_stg_pinterest_ads__ad_group_report_ad_group_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__ad_group_report"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/not_null_stg_pinterest_ads__ad_group_report_ad_group_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1656628610.1974242, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__ad_group_report\"\nwhere ad_group_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "ad_group_id", "file_key_name": "models.stg_pinterest_ads__ad_group_report"}, "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_report_date_day__ad_group_id.959c0f8422": {"raw_sql": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_102912c855f1f0127d704dffca6eb0d1\") }}", "test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["date_day", "ad_group_id"], "model": "{{ get_where_subquery(ref('stg_pinterest_ads__ad_group_report')) }}"}, "namespace": "dbt_utils"}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.pinterest_source.stg_pinterest_ads__ad_group_report"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_102912c855f1f0127d704dffca6eb0d1", "schema": "dbt_test__audit", "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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_report_date_day__ad_group_id"], "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_report_date_day__ad_group_id.959c0f8422", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "dbt_utils_unique_combination_o_102912c855f1f0127d704dffca6eb0d1.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_report_date_day__ad_group_id", "alias": "dbt_utils_unique_combination_o_102912c855f1f0127d704dffca6eb0d1", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__ad_group_report"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/dbt_utils_unique_combination_o_102912c855f1f0127d704dffca6eb0d1.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_102912c855f1f0127d704dffca6eb0d1"}, "created_at": 1656628610.198447, "compiled_sql": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n date_day, ad_group_id\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__ad_group_report\"\n group by date_day, ad_group_id\n having count(*) > 1\n\n)\n\nselect *\nfrom validation_errors\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": null, "file_key_name": "models.stg_pinterest_ads__ad_group_report"}, "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_history_advertiser_id.7d24f665fb": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "advertiser_id", "model": "{{ get_where_subquery(ref('stg_pinterest_ads__advertiser_history')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.pinterest_source.stg_pinterest_ads__advertiser_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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "not_null_stg_pinterest_ads__advertiser_history_advertiser_id"], "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_history_advertiser_id.7d24f665fb", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "not_null_stg_pinterest_ads__advertiser_history_advertiser_id.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "not_null_stg_pinterest_ads__advertiser_history_advertiser_id", "alias": "not_null_stg_pinterest_ads__advertiser_history_advertiser_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__advertiser_history"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/not_null_stg_pinterest_ads__advertiser_history_advertiser_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1656628610.2012491, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__advertiser_history\"\nwhere advertiser_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "advertiser_id", "file_key_name": "models.stg_pinterest_ads__advertiser_history"}, "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_history_updated_at__advertiser_id.94e8f4de4b": {"raw_sql": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_ac571a135eb9bbe6db1401c33b830733\") }}", "test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["updated_at", "advertiser_id"], "model": "{{ get_where_subquery(ref('stg_pinterest_ads__advertiser_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.pinterest_source.stg_pinterest_ads__advertiser_history"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_ac571a135eb9bbe6db1401c33b830733", "schema": "dbt_test__audit", "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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_history_updated_at__advertiser_id"], "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_history_updated_at__advertiser_id.94e8f4de4b", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "dbt_utils_unique_combination_o_ac571a135eb9bbe6db1401c33b830733.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_history_updated_at__advertiser_id", "alias": "dbt_utils_unique_combination_o_ac571a135eb9bbe6db1401c33b830733", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__advertiser_history"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/dbt_utils_unique_combination_o_ac571a135eb9bbe6db1401c33b830733.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_ac571a135eb9bbe6db1401c33b830733"}, "created_at": 1656628610.202271, "compiled_sql": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n updated_at, advertiser_id\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__advertiser_history\"\n group by updated_at, advertiser_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_pinterest_ads__advertiser_history"}, "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_report_date_day.153bd03c95": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "date_day", "model": "{{ get_where_subquery(ref('stg_pinterest_ads__advertiser_report')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.pinterest_source.stg_pinterest_ads__advertiser_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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "not_null_stg_pinterest_ads__advertiser_report_date_day"], "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_report_date_day.153bd03c95", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "not_null_stg_pinterest_ads__advertiser_report_date_day.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "not_null_stg_pinterest_ads__advertiser_report_date_day", "alias": "not_null_stg_pinterest_ads__advertiser_report_date_day", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__advertiser_report"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/not_null_stg_pinterest_ads__advertiser_report_date_day.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1656628610.2049952, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__advertiser_report\"\nwhere date_day is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "date_day", "file_key_name": "models.stg_pinterest_ads__advertiser_report"}, "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_report_advertiser_id.1b16ed73ff": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "advertiser_id", "model": "{{ get_where_subquery(ref('stg_pinterest_ads__advertiser_report')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.pinterest_source.stg_pinterest_ads__advertiser_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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "not_null_stg_pinterest_ads__advertiser_report_advertiser_id"], "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_report_advertiser_id.1b16ed73ff", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "not_null_stg_pinterest_ads__advertiser_report_advertiser_id.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "not_null_stg_pinterest_ads__advertiser_report_advertiser_id", "alias": "not_null_stg_pinterest_ads__advertiser_report_advertiser_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__advertiser_report"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/not_null_stg_pinterest_ads__advertiser_report_advertiser_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1656628610.2061691, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__advertiser_report\"\nwhere advertiser_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "advertiser_id", "file_key_name": "models.stg_pinterest_ads__advertiser_report"}, "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_report_date_day__advertiser_id.e92ce8a9c0": {"raw_sql": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_7440d10d36ca9b555b1bb533d442c6de\") }}", "test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["date_day", "advertiser_id"], "model": "{{ get_where_subquery(ref('stg_pinterest_ads__advertiser_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.pinterest_source.stg_pinterest_ads__advertiser_report"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_7440d10d36ca9b555b1bb533d442c6de", "schema": "dbt_test__audit", "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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_report_date_day__advertiser_id"], "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_report_date_day__advertiser_id.e92ce8a9c0", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "dbt_utils_unique_combination_o_7440d10d36ca9b555b1bb533d442c6de.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_report_date_day__advertiser_id", "alias": "dbt_utils_unique_combination_o_7440d10d36ca9b555b1bb533d442c6de", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__advertiser_report"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/dbt_utils_unique_combination_o_7440d10d36ca9b555b1bb533d442c6de.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_7440d10d36ca9b555b1bb533d442c6de"}, "created_at": 1656628610.207179, "compiled_sql": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n date_day, advertiser_id\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__advertiser_report\"\n group by date_day, advertiser_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_pinterest_ads__advertiser_report"}, "test.pinterest_source.not_null_stg_pinterest_ads__campaign_report_date_day.7ef5fb1238": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "date_day", "model": "{{ get_where_subquery(ref('stg_pinterest_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.pinterest_source.stg_pinterest_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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "not_null_stg_pinterest_ads__campaign_report_date_day"], "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__campaign_report_date_day.7ef5fb1238", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "not_null_stg_pinterest_ads__campaign_report_date_day.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "not_null_stg_pinterest_ads__campaign_report_date_day", "alias": "not_null_stg_pinterest_ads__campaign_report_date_day", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__campaign_report"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/not_null_stg_pinterest_ads__campaign_report_date_day.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1656628610.209908, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__campaign_report\"\nwhere date_day is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "date_day", "file_key_name": "models.stg_pinterest_ads__campaign_report"}, "test.pinterest_source.not_null_stg_pinterest_ads__campaign_report_campaign_id.a287eba0fc": {"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_pinterest_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.pinterest_source.stg_pinterest_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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "not_null_stg_pinterest_ads__campaign_report_campaign_id"], "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__campaign_report_campaign_id.a287eba0fc", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "not_null_stg_pinterest_ads__campaign_report_campaign_id.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "not_null_stg_pinterest_ads__campaign_report_campaign_id", "alias": "not_null_stg_pinterest_ads__campaign_report_campaign_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__campaign_report"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/not_null_stg_pinterest_ads__campaign_report_campaign_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1656628610.210913, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__campaign_report\"\nwhere campaign_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "campaign_id", "file_key_name": "models.stg_pinterest_ads__campaign_report"}, "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_report_date_day__campaign_id.968175d475": {"raw_sql": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_0c8355e1589626ebd0d1804da153d3b7\") }}", "test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["date_day", "campaign_id"], "model": "{{ get_where_subquery(ref('stg_pinterest_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.pinterest_source.stg_pinterest_ads__campaign_report"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_0c8355e1589626ebd0d1804da153d3b7", "schema": "dbt_test__audit", "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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_report_date_day__campaign_id"], "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_report_date_day__campaign_id.968175d475", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "dbt_utils_unique_combination_o_0c8355e1589626ebd0d1804da153d3b7.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_report_date_day__campaign_id", "alias": "dbt_utils_unique_combination_o_0c8355e1589626ebd0d1804da153d3b7", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__campaign_report"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/dbt_utils_unique_combination_o_0c8355e1589626ebd0d1804da153d3b7.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_0c8355e1589626ebd0d1804da153d3b7"}, "created_at": 1656628610.211915, "compiled_sql": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n date_day, campaign_id\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__campaign_report\"\n group by date_day, 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.stg_pinterest_ads__campaign_report"}, "test.pinterest_source.not_null_stg_pinterest_ads__keyword_history_keyword_id.246889377a": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "keyword_id", "model": "{{ get_where_subquery(ref('stg_pinterest_ads__keyword_history')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.pinterest_source.stg_pinterest_ads__keyword_history"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "postgres", "schema": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "not_null_stg_pinterest_ads__keyword_history_keyword_id"], "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__keyword_history_keyword_id.246889377a", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "not_null_stg_pinterest_ads__keyword_history_keyword_id.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "not_null_stg_pinterest_ads__keyword_history_keyword_id", "alias": "not_null_stg_pinterest_ads__keyword_history_keyword_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__keyword_history"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/not_null_stg_pinterest_ads__keyword_history_keyword_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1656628610.214605, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__keyword_history\"\nwhere keyword_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "keyword_id", "file_key_name": "models.stg_pinterest_ads__keyword_history"}, "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_history_keyword_id___fivetran_synced.e73fb0a4db": {"raw_sql": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_ec26c02aa227b5ef7cc6b4f64f99d1c4\") }}", "test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["keyword_id", "_fivetran_synced"], "model": "{{ get_where_subquery(ref('stg_pinterest_ads__keyword_history')) }}"}, "namespace": "dbt_utils"}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.pinterest_source.stg_pinterest_ads__keyword_history"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_ec26c02aa227b5ef7cc6b4f64f99d1c4", "schema": "dbt_test__audit", "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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_history_keyword_id___fivetran_synced"], "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_history_keyword_id___fivetran_synced.e73fb0a4db", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "dbt_utils_unique_combination_o_ec26c02aa227b5ef7cc6b4f64f99d1c4.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_history_keyword_id___fivetran_synced", "alias": "dbt_utils_unique_combination_o_ec26c02aa227b5ef7cc6b4f64f99d1c4", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__keyword_history"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/dbt_utils_unique_combination_o_ec26c02aa227b5ef7cc6b4f64f99d1c4.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_ec26c02aa227b5ef7cc6b4f64f99d1c4"}, "created_at": 1656628610.21577, "compiled_sql": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n keyword_id, _fivetran_synced\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__keyword_history\"\n group by keyword_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_pinterest_ads__keyword_history"}, "test.pinterest_source.not_null_stg_pinterest_ads__keyword_report_date_day.9937216300": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "date_day", "model": "{{ get_where_subquery(ref('stg_pinterest_ads__keyword_report')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.pinterest_source.stg_pinterest_ads__keyword_report"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "postgres", "schema": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "not_null_stg_pinterest_ads__keyword_report_date_day"], "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__keyword_report_date_day.9937216300", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "not_null_stg_pinterest_ads__keyword_report_date_day.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "not_null_stg_pinterest_ads__keyword_report_date_day", "alias": "not_null_stg_pinterest_ads__keyword_report_date_day", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__keyword_report"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/not_null_stg_pinterest_ads__keyword_report_date_day.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1656628610.2183628, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__keyword_report\"\nwhere date_day is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "date_day", "file_key_name": "models.stg_pinterest_ads__keyword_report"}, "test.pinterest_source.not_null_stg_pinterest_ads__keyword_report_keyword_id.5f00679c48": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "keyword_id", "model": "{{ get_where_subquery(ref('stg_pinterest_ads__keyword_report')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.pinterest_source.stg_pinterest_ads__keyword_report"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "postgres", "schema": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "not_null_stg_pinterest_ads__keyword_report_keyword_id"], "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__keyword_report_keyword_id.5f00679c48", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "not_null_stg_pinterest_ads__keyword_report_keyword_id.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "not_null_stg_pinterest_ads__keyword_report_keyword_id", "alias": "not_null_stg_pinterest_ads__keyword_report_keyword_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__keyword_report"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/not_null_stg_pinterest_ads__keyword_report_keyword_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1656628610.219518, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__keyword_report\"\nwhere keyword_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "keyword_id", "file_key_name": "models.stg_pinterest_ads__keyword_report"}, "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_report_date_day__keyword_id.fe6a646a5a": {"raw_sql": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_94b2fddbce48a3f704e0980f9065fdf9\") }}", "test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["date_day", "keyword_id"], "model": "{{ get_where_subquery(ref('stg_pinterest_ads__keyword_report')) }}"}, "namespace": "dbt_utils"}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.pinterest_source.stg_pinterest_ads__keyword_report"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_94b2fddbce48a3f704e0980f9065fdf9", "schema": "dbt_test__audit", "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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_report_date_day__keyword_id"], "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_report_date_day__keyword_id.fe6a646a5a", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "dbt_utils_unique_combination_o_94b2fddbce48a3f704e0980f9065fdf9.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_report_date_day__keyword_id", "alias": "dbt_utils_unique_combination_o_94b2fddbce48a3f704e0980f9065fdf9", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__keyword_report"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/dbt_utils_unique_combination_o_94b2fddbce48a3f704e0980f9065fdf9.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_94b2fddbce48a3f704e0980f9065fdf9"}, "created_at": 1656628610.220531, "compiled_sql": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n date_day, keyword_id\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__keyword_report\"\n group by date_day, keyword_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_pinterest_ads__keyword_report"}}, "sources": {"source.pinterest_source.pinterest_ads.pin_promotion_report": {"fqn": ["pinterest_source", "pinterest_ads", "pin_promotion_report"], "database": "postgres", "schema": "pinterest_source_integration_tests", "unique_id": "source.pinterest_source.pinterest_ads.pin_promotion_report", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "models/src_pinterest_ads.yml", "original_file_path": "models/src_pinterest_ads.yml", "name": "pin_promotion_report", "source_name": "pinterest_ads", "source_description": "", "loader": "Fivetran", "identifier": "pin_promotion_report_data", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 168, "period": "hour"}, "filter": null}, "external": null, "description": "Each record represents the daily performance of a Pinterest Pin promotion.", "columns": {"date": {"name": "date", "description": "The performance date of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "pin_promotion_id": {"name": "pin_promotion_id", "description": "The ID of the related Pin promotion.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_id": {"name": "ad_group_id", "description": "The ID of the related Ad group.", "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": []}, "advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impression_1": {"name": "impression_1", "description": "The number of paid pin impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impression_2": {"name": "impression_2", "description": "The number of earned pin impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clickthrough_1": {"name": "clickthrough_1", "description": "The number of paid pin clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clickthrough_2": {"name": "clickthrough_2", "description": "The number of earned outbound clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend_in_micro_dollar": {"name": "spend_in_micro_dollar", "description": "The amount of spend in micro dollars that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"pin_promotion_report_data\"", "created_at": 1656628610.24852}, "source.pinterest_source.pinterest_ads.pin_promotion_history": {"fqn": ["pinterest_source", "pinterest_ads", "pin_promotion_history"], "database": "postgres", "schema": "pinterest_source_integration_tests", "unique_id": "source.pinterest_source.pinterest_ads.pin_promotion_history", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "models/src_pinterest_ads.yml", "original_file_path": "models/src_pinterest_ads.yml", "name": "pin_promotion_history", "source_name": "pinterest_ads", "source_description": "", "loader": "Fivetran", "identifier": "pin_promotion_history_data", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 168, "period": "hour"}, "filter": null}, "external": null, "description": "Each record represents a version of a Pinterest Pin promotion.", "columns": {"id": {"name": "id", "description": "The ID of the related Pin promotion.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_id": {"name": "ad_group_id", "description": "The ID of the related Ad group.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "created_time": {"name": "created_time", "description": "Pin creation time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "destination_url": {"name": "destination_url", "description": "Pin destination URL.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Pin promotion name.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "pin_id": {"name": "pin_id", "description": "Original pin ID.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status": {"name": "status", "description": "The status of the Pin promotion. One of \"ACTIVE\", \"ARCHIVED\", \"PAUSED\"", "meta": {}, "data_type": null, "quote": null, "tags": []}, "creative_type": {"name": "creative_type", "description": "The creative type. \nOne of \"APP\", \"APP_VIDEO\", \"BOARD\", \"CAROUSEL\", \"CINEMATIC\", \"COMMERCE\", \"MAX_VIDEO\", \"NATIVE_VIDEO\", \"REGULAR\", \n\"SEARCH_PROMINENCE\", \"SEARCH_PROMINENCE_CAROUSEL\", \"SHOPPING\", \"SHOP_THE_PIN\", \"THIRD_PARTY\", or \"VIDEO\".\n", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"pin_promotion_history_data\"", "created_at": 1656628610.248624}, "source.pinterest_source.pinterest_ads.campaign_history": {"fqn": ["pinterest_source", "pinterest_ads", "campaign_history"], "database": "postgres", "schema": "pinterest_source_integration_tests", "unique_id": "source.pinterest_source.pinterest_ads.campaign_history", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "models/src_pinterest_ads.yml", "original_file_path": "models/src_pinterest_ads.yml", "name": "campaign_history", "source_name": "pinterest_ads", "source_description": "", "loader": "Fivetran", "identifier": "campaign_history_data", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 168, "period": "hour"}, "filter": null}, "external": null, "description": "Each record represents a version of a Pinterest Campaign.", "columns": {"id": {"name": "id", "description": "The ID of the related Campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "created_time": {"name": "created_time", "description": "Campaign creation time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Campaign name.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status": {"name": "status", "description": "The status of the Campaign. One of \"ACTIVE\", \"ARCHIVED\", \"PAUSED\"", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"campaign_history_data\"", "created_at": 1656628610.248697}, "source.pinterest_source.pinterest_ads.ad_group_history": {"fqn": ["pinterest_source", "pinterest_ads", "ad_group_history"], "database": "postgres", "schema": "pinterest_source_integration_tests", "unique_id": "source.pinterest_source.pinterest_ads.ad_group_history", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "models/src_pinterest_ads.yml", "original_file_path": "models/src_pinterest_ads.yml", "name": "ad_group_history", "source_name": "pinterest_ads", "source_description": "", "loader": "Fivetran", "identifier": "ad_group_history_data", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 168, "period": "hour"}, "filter": null}, "external": null, "description": "Each record represents a version of a Pinterest Ad Group.", "columns": {"id": {"name": "id", "description": "The ID of the related Ad group.", "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": []}, "created_time": {"name": "created_time", "description": "Ad group creation time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Ad group name.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status": {"name": "status", "description": "The status of the Ad group. One of \"ACTIVE\", \"ARCHIVED\", \"PAUSED\"", "meta": {}, "data_type": null, "quote": null, "tags": []}, "start_time": {"name": "start_time", "description": "Ad group start time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "end_time": {"name": "end_time", "description": "Ad group end time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"ad_group_history_data\"", "created_at": 1656628610.248769}, "source.pinterest_source.pinterest_ads.ad_group_report": {"fqn": ["pinterest_source", "pinterest_ads", "ad_group_report"], "database": "postgres", "schema": "pinterest_source_integration_tests", "unique_id": "source.pinterest_source.pinterest_ads.ad_group_report", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "models/src_pinterest_ads.yml", "original_file_path": "models/src_pinterest_ads.yml", "name": "ad_group_report", "source_name": "pinterest_ads", "source_description": "", "loader": "Fivetran", "identifier": "ad_group_report_data", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 168, "period": "hour"}, "filter": null}, "external": null, "description": "source table", "columns": {"date": {"name": "date", "description": "The performance date of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_id": {"name": "ad_group_id", "description": "The ID of the related Ad group.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_name": {"name": "ad_group_name", "description": "Name of the ad group.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_status": {"name": "ad_group_status", "description": "Status of the ad group.", "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": []}, "advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impression_1": {"name": "impression_1", "description": "The number of paid pin impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impression_2": {"name": "impression_2", "description": "The number of earned pin impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clickthrough_1": {"name": "clickthrough_1", "description": "The number of paid pin clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clickthrough_2": {"name": "clickthrough_2", "description": "The number of earned outbound clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend_in_micro_dollar": {"name": "spend_in_micro_dollar", "description": "The amount of spend in micro dollars that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"ad_group_report_data\"", "created_at": 1656628610.248843}, "source.pinterest_source.pinterest_ads.advertiser_history": {"fqn": ["pinterest_source", "pinterest_ads", "advertiser_history"], "database": "postgres", "schema": "pinterest_source_integration_tests", "unique_id": "source.pinterest_source.pinterest_ads.advertiser_history", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "models/src_pinterest_ads.yml", "original_file_path": "models/src_pinterest_ads.yml", "name": "advertiser_history", "source_name": "pinterest_ads", "source_description": "", "loader": "Fivetran", "identifier": "advertiser_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": "source table", "columns": {"id": {"name": "id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Name of the advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status": {"name": "status", "description": "Status of the advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "billing_profile_status": {"name": "billing_profile_status", "description": "Status of the billing profile.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "billing_type": {"name": "billing_type", "description": "The billing type of the advertiser. Will typically be CREDIT_CARD or INVOICE.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "country": {"name": "country", "description": "The country code where the advertiser is located.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "created_time": {"name": "created_time", "description": "Timestamp of when a record was created.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "currency": {"name": "currency", "description": "The currency code which the a", "meta": {}, "data_type": null, "quote": null, "tags": []}, "merchant_id": {"name": "merchant_id", "description": "Unique ID of the merchant associated with the advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "owner_user_id": {"name": "owner_user_id", "description": "Unique identifier of the owner user.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "updated_time": {"name": "updated_time", "description": "Timestamp of when a record was last updated.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"advertiser_history_data\"", "created_at": 1656628610.248917}, "source.pinterest_source.pinterest_ads.advertiser_report": {"fqn": ["pinterest_source", "pinterest_ads", "advertiser_report"], "database": "postgres", "schema": "pinterest_source_integration_tests", "unique_id": "source.pinterest_source.pinterest_ads.advertiser_report", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "models/src_pinterest_ads.yml", "original_file_path": "models/src_pinterest_ads.yml", "name": "advertiser_report", "source_name": "pinterest_ads", "source_description": "", "loader": "Fivetran", "identifier": "advertiser_report_data", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 168, "period": "hour"}, "filter": null}, "external": null, "description": "source table", "columns": {"date": {"name": "date", "description": "The performance date of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impression_1": {"name": "impression_1", "description": "The number of paid pin impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impression_2": {"name": "impression_2", "description": "The number of earned pin impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clickthrough_1": {"name": "clickthrough_1", "description": "The number of paid pin clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clickthrough_2": {"name": "clickthrough_2", "description": "The number of earned outbound clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend_in_micro_dollar": {"name": "spend_in_micro_dollar", "description": "The amount of spend in micro dollars that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"advertiser_report_data\"", "created_at": 1656628610.248986}, "source.pinterest_source.pinterest_ads.campaign_report": {"fqn": ["pinterest_source", "pinterest_ads", "campaign_report"], "database": "postgres", "schema": "pinterest_source_integration_tests", "unique_id": "source.pinterest_source.pinterest_ads.campaign_report", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "models/src_pinterest_ads.yml", "original_file_path": "models/src_pinterest_ads.yml", "name": "campaign_report", "source_name": "pinterest_ads", "source_description": "", "loader": "Fivetran", "identifier": "campaign_report_data", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 168, "period": "hour"}, "filter": null}, "external": null, "description": "source table", "columns": {"date": {"name": "date", "description": "The performance date of the record.", "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": "Name of the campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_status": {"name": "campaign_status", "description": "Status of the campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impression_1": {"name": "impression_1", "description": "The number of paid pin impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impression_2": {"name": "impression_2", "description": "The number of earned pin impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clickthrough_1": {"name": "clickthrough_1", "description": "The number of paid pin clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clickthrough_2": {"name": "clickthrough_2", "description": "The number of earned outbound clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend_in_micro_dollar": {"name": "spend_in_micro_dollar", "description": "The amount of spend in micro dollars that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"campaign_report_data\"", "created_at": 1656628610.2490911}, "source.pinterest_source.pinterest_ads.keyword_history": {"fqn": ["pinterest_source", "pinterest_ads", "keyword_history"], "database": "postgres", "schema": "pinterest_source_integration_tests", "unique_id": "source.pinterest_source.pinterest_ads.keyword_history", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "models/src_pinterest_ads.yml", "original_file_path": "models/src_pinterest_ads.yml", "name": "keyword_history", "source_name": "pinterest_ads", "source_description": "", "loader": "Fivetran", "identifier": "keyword_history_data", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 168, "period": "hour"}, "filter": null}, "external": null, "description": "source table", "columns": {"id": {"name": "id", "description": "Unique identifier of the keyword.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "value": {"name": "value", "description": "The text value that makes upd the keyword.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_id": {"name": "_fivetran_id", "description": "The unique identifier of the record within the Fivetran synced table.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_id": {"name": "ad_group_id", "description": "The ID of the related Ad group.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "archived": {"name": "archived", "description": "Boolean indicating if the keyword is archived.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "bid": {"name": "bid", "description": "Bid amount set for the keyword.", "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": []}, "match_type": {"name": "match_type", "description": "Type of match the keyword is tied to. Either Exact or Broad.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "parent_type": {"name": "parent_type", "description": "Identifier of what grain the parent type is. Ad group or campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"keyword_history_data\"", "created_at": 1656628610.249166}, "source.pinterest_source.pinterest_ads.keyword_report": {"fqn": ["pinterest_source", "pinterest_ads", "keyword_report"], "database": "postgres", "schema": "pinterest_source_integration_tests", "unique_id": "source.pinterest_source.pinterest_ads.keyword_report", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "models/src_pinterest_ads.yml", "original_file_path": "models/src_pinterest_ads.yml", "name": "keyword_report", "source_name": "pinterest_ads", "source_description": "", "loader": "Fivetran", "identifier": "keyword_report_data", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 168, "period": "hour"}, "filter": null}, "external": null, "description": "source table", "columns": {"date": {"name": "date", "description": "The performance date of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "keyword_id": {"name": "keyword_id", "description": "Unique identifier of the keyword.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "pin_promotion_id": {"name": "pin_promotion_id", "description": "The ID of the related Pin promotion.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_id": {"name": "ad_group_id", "description": "The ID of the related Ad group.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_name": {"name": "ad_group_name", "description": "Name of the ad group.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_status": {"name": "ad_group_status", "description": "Status of the ad group.", "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": []}, "advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impression_1": {"name": "impression_1", "description": "The number of paid pin impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impression_2": {"name": "impression_2", "description": "The number of earned pin impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clickthrough_1": {"name": "clickthrough_1", "description": "The number of paid pin clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clickthrough_2": {"name": "clickthrough_2", "description": "The number of earned outbound clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend_in_micro_dollar": {"name": "spend_in_micro_dollar", "description": "The amount of spend in micro dollars that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"keyword_report_data\"", "created_at": 1656628610.249244}}, "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": 1656628609.369663}, "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": 1656628609.370411}, "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": 1656628609.37624}, "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": 1656628609.3768}, "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": 1656628609.377153}, "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": 1656628609.377505}, "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": 1656628609.378033}, "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": 1656628609.3784451}, "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": 1656628609.378638}, "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": 1656628609.3790798}, "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": 1656628609.379529}, "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": 1656628609.3796139}, "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": 1656628609.379812}, "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": 1656628609.379929}, "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": 1656628609.380948}, "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": 1656628609.381415}, "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": 1656628609.381655}, "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": 1656628609.382308}, "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": 1656628609.38319}, "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": 1656628609.384407}, "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": 1656628609.384625}, "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": 1656628609.384779}, "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": 1656628609.384931}, "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": 1656628609.385084}, "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": 1656628609.385548}, "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": 1656628609.3858712}, "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": 1656628609.386194}, "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": 1656628609.3867168}, "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": 1656628609.3870132}, "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": 1656628609.390667}, "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": 1656628609.390848}, "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": 1656628609.3910651}, "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": 1656628609.3912058}, "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": 1656628609.3913028}, "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": 1656628609.39209}, "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": 1656628609.392253}, "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": 1656628609.39242}, "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": 1656628609.393402}, "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": 1656628609.3952372}, "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": 1656628609.398506}, "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": 1656628609.398893}, "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": 1656628609.3991182}, "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": 1656628609.399217}, "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": 1656628609.399435}, "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": 1656628609.400447}, "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": 1656628609.400754}, "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": 1656628609.401046}, "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": 1656628609.401508}, "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": 1656628609.407679}, "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": 1656628609.4100852}, "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": 1656628609.4107652}, "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": 1656628609.411099}, "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": 1656628609.411603}, "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": 1656628609.412013}, "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": 1656628609.4129229}, "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": 1656628609.413495}, "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": 1656628609.414176}, "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": 1656628609.417102}, "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": 1656628609.4183412}, "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": 1656628609.4185972}, "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": 1656628609.419046}, "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": 1656628609.4193249}, "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": 1656628609.420046}, "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": 1656628609.4209092}, "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": 1656628609.426167}, "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": 1656628609.431309}, "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": 1656628609.4326122}, "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": 1656628609.433894}, "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": 1656628609.434679}, "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": 1656628609.438817}, "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": 1656628609.4394}, "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": 1656628609.439602}, "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": 1656628609.4398148}, "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": 1656628609.4402618}, "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": 1656628609.444104}, "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": 1656628609.44451}, "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": 1656628609.444747}, "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": 1656628609.446099}, "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": 1656628609.446562}, "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": 1656628609.446738}, "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": 1656628609.446937}, "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": 1656628609.447218}, "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": 1656628609.450342}, "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": 1656628609.4546251}, "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": 1656628609.455609}, "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": 1656628609.455866}, "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": 1656628609.456386}, "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": 1656628609.456542}, "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": 1656628609.456667}, "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": 1656628609.456842}, "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": 1656628609.456969}, "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": 1656628609.4574878}, "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": 1656628609.457821}, "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": 1656628609.459177}, "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": 1656628609.4597208}, "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": 1656628609.4599721}, "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": 1656628609.460607}, "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": 1656628609.460892}, "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": 1656628609.46129}, "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": 1656628609.461896}, "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": 1656628609.462152}, "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": 1656628609.46258}, "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": 1656628609.462831}, "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": 1656628609.46315}, "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": 1656628609.463777}, "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": 1656628609.46494}, "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": 1656628609.465536}, "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": 1656628609.4658382}, "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": 1656628609.467663}, "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": 1656628609.4690628}, "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": 1656628609.4698749}, "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": 1656628609.470129}, "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": 1656628609.470706}, "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": 1656628609.470905}, "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": 1656628609.471081}, "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": 1656628609.471276}, "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": 1656628609.471838}, "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": 1656628609.4719832}, "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": 1656628609.472151}, "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": 1656628609.472576}, "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": 1656628609.474305}, "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": 1656628609.4746292}, "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": 1656628609.474825}, "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": 1656628609.47505}, "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": 1656628609.4752462}, "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": 1656628609.475415}, "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": 1656628609.475629}, "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": 1656628609.475934}, "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": 1656628609.476202}, "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": 1656628609.47689}, "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": 1656628609.477143}, "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": 1656628609.477352}, "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": 1656628609.477941}, "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": 1656628609.478109}, "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": 1656628609.4783611}, "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": 1656628609.4788249}, "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": 1656628609.479606}, "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": 1656628609.479787}, "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": 1656628609.4800131}, "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": 1656628609.4801931}, "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": 1656628609.480486}, "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": 1656628609.4810162}, "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": 1656628609.482562}, "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": 1656628609.482837}, "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": 1656628609.4830341}, "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": 1656628609.4832041}, "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": 1656628609.483402}, "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": 1656628609.4836721}, "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": 1656628609.483892}, "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": 1656628609.484406}, "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": 1656628609.484606}, "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": 1656628609.48478}, "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": 1656628609.486631}, "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": 1656628609.486806}, "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": 1656628609.487139}, "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": 1656628609.48734}, "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": 1656628609.487714}, "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": 1656628609.487975}, "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": 1656628609.488645}, "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": 1656628609.488928}, "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": 1656628609.4897852}, "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": 1656628609.490438}, "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": 1656628609.49069}, "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": 1656628609.491004}, "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": 1656628609.4913049}, "macro.dbt_utils.except": {"unique_id": "macro.dbt_utils.except", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.4916658}, "macro.dbt_utils.default__except": {"unique_id": "macro.dbt_utils.default__except", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.491744}, "macro.dbt_utils.bigquery__except": {"unique_id": "macro.dbt_utils.bigquery__except", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.49182}, "macro.dbt_utils.replace": {"unique_id": "macro.dbt_utils.replace", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.4922712}, "macro.dbt_utils.default__replace": {"unique_id": "macro.dbt_utils.default__replace", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.492448}, "macro.dbt_utils.concat": {"unique_id": "macro.dbt_utils.concat", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.492787}, "macro.dbt_utils.default__concat": {"unique_id": "macro.dbt_utils.default__concat", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.493015}, "macro.dbt_utils.type_string": {"unique_id": "macro.dbt_utils.type_string", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.493796}, "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/pinterest/dbt_pinterest_source/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": 1656628609.493876}, "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/pinterest/dbt_pinterest_source/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": 1656628609.493953}, "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/pinterest/dbt_pinterest_source/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": 1656628609.494027}, "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/pinterest/dbt_pinterest_source/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": 1656628609.494103}, "macro.dbt_utils.type_timestamp": {"unique_id": "macro.dbt_utils.type_timestamp", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.494275}, "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/pinterest/dbt_pinterest_source/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": 1656628609.4943502}, "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/pinterest/dbt_pinterest_source/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": 1656628609.494424}, "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/pinterest/dbt_pinterest_source/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": 1656628609.494495}, "macro.dbt_utils.type_float": {"unique_id": "macro.dbt_utils.type_float", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.494664}, "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/pinterest/dbt_pinterest_source/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": 1656628609.49474}, "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/pinterest/dbt_pinterest_source/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": 1656628609.494813}, "macro.dbt_utils.type_numeric": {"unique_id": "macro.dbt_utils.type_numeric", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.494982}, "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/pinterest/dbt_pinterest_source/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": 1656628609.495062}, "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/pinterest/dbt_pinterest_source/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": 1656628609.4951391}, "macro.dbt_utils.type_bigint": {"unique_id": "macro.dbt_utils.type_bigint", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.495311}, "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/pinterest/dbt_pinterest_source/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": 1656628609.495389}, "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/pinterest/dbt_pinterest_source/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": 1656628609.495463}, "macro.dbt_utils.type_int": {"unique_id": "macro.dbt_utils.type_int", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.4957}, "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/pinterest/dbt_pinterest_source/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": 1656628609.495776}, "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/pinterest/dbt_pinterest_source/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": 1656628609.4958458}, "macro.dbt_utils._is_relation": {"unique_id": "macro.dbt_utils._is_relation", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.496408}, "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/pinterest/dbt_pinterest_source/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": 1656628609.496918}, "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/pinterest/dbt_pinterest_source/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": 1656628609.4970691}, "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/pinterest/dbt_pinterest_source/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": 1656628609.497397}, "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/pinterest/dbt_pinterest_source/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": 1656628609.497552}, "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/pinterest/dbt_pinterest_source/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": 1656628609.497665}, "macro.dbt_utils.length": {"unique_id": "macro.dbt_utils.length", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.49807}, "macro.dbt_utils.default__length": {"unique_id": "macro.dbt_utils.default__length", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.498185}, "macro.dbt_utils.redshift__length": {"unique_id": "macro.dbt_utils.redshift__length", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.498294}, "macro.dbt_utils.dateadd": {"unique_id": "macro.dbt_utils.dateadd", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.498962}, "macro.dbt_utils.default__dateadd": {"unique_id": "macro.dbt_utils.default__dateadd", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.499136}, "macro.dbt_utils.bigquery__dateadd": {"unique_id": "macro.dbt_utils.bigquery__dateadd", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.499307}, "macro.dbt_utils.postgres__dateadd": {"unique_id": "macro.dbt_utils.postgres__dateadd", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.499477}, "macro.dbt_utils.redshift__dateadd": {"unique_id": "macro.dbt_utils.redshift__dateadd", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.4996831}, "macro.dbt_utils.intersect": {"unique_id": "macro.dbt_utils.intersect", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.500022}, "macro.dbt_utils.default__intersect": {"unique_id": "macro.dbt_utils.default__intersect", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.5000992}, "macro.dbt_utils.bigquery__intersect": {"unique_id": "macro.dbt_utils.bigquery__intersect", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.500174}, "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/pinterest/dbt_pinterest_source/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": 1656628609.500594}, "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/pinterest/dbt_pinterest_source/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": 1656628609.500743}, "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/pinterest/dbt_pinterest_source/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": 1656628609.500968}, "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/pinterest/dbt_pinterest_source/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": 1656628609.5011141}, "macro.dbt_utils.right": {"unique_id": "macro.dbt_utils.right", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.501748}, "macro.dbt_utils.default__right": {"unique_id": "macro.dbt_utils.default__right", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.501894}, "macro.dbt_utils.bigquery__right": {"unique_id": "macro.dbt_utils.bigquery__right", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.5020611}, "macro.dbt_utils.snowflake__right": {"unique_id": "macro.dbt_utils.snowflake__right", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.502225}, "macro.dbt_utils.listagg": {"unique_id": "macro.dbt_utils.listagg", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.5046232}, "macro.dbt_utils.default__listagg": {"unique_id": "macro.dbt_utils.default__listagg", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.505067}, "macro.dbt_utils.bigquery__listagg": {"unique_id": "macro.dbt_utils.bigquery__listagg", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.505367}, "macro.dbt_utils.postgres__listagg": {"unique_id": "macro.dbt_utils.postgres__listagg", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.5057862}, "macro.dbt_utils.redshift__listagg": {"unique_id": "macro.dbt_utils.redshift__listagg", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.5068102}, "macro.dbt_utils.datediff": {"unique_id": "macro.dbt_utils.datediff", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.5095391}, "macro.dbt_utils.default__datediff": {"unique_id": "macro.dbt_utils.default__datediff", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.5097148}, "macro.dbt_utils.bigquery__datediff": {"unique_id": "macro.dbt_utils.bigquery__datediff", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.509879}, "macro.dbt_utils.postgres__datediff": {"unique_id": "macro.dbt_utils.postgres__datediff", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.511799}, "macro.dbt_utils.redshift__datediff": {"unique_id": "macro.dbt_utils.redshift__datediff", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.512019}, "macro.dbt_utils.safe_cast": {"unique_id": "macro.dbt_utils.safe_cast", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.5125031}, "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/pinterest/dbt_pinterest_source/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": 1656628609.512655}, "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/pinterest/dbt_pinterest_source/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": 1656628609.512788}, "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/pinterest/dbt_pinterest_source/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": 1656628609.5129201}, "macro.dbt_utils.hash": {"unique_id": "macro.dbt_utils.hash", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.513304}, "macro.dbt_utils.default__hash": {"unique_id": "macro.dbt_utils.default__hash", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.5134552}, "macro.dbt_utils.bigquery__hash": {"unique_id": "macro.dbt_utils.bigquery__hash", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.5135949}, "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/pinterest/dbt_pinterest_source/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": 1656628609.5139892}, "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/pinterest/dbt_pinterest_source/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": 1656628609.5141408}, "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/pinterest/dbt_pinterest_source/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": 1656628609.514278}, "macro.dbt_utils.identifier": {"unique_id": "macro.dbt_utils.identifier", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.514847}, "macro.dbt_utils.default__identifier": {"unique_id": "macro.dbt_utils.default__identifier", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.5149581}, "macro.dbt_utils.bigquery__identifier": {"unique_id": "macro.dbt_utils.bigquery__identifier", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.5150652}, "macro.dbt_utils.any_value": {"unique_id": "macro.dbt_utils.any_value", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.515441}, "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/pinterest/dbt_pinterest_source/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": 1656628609.515554}, "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/pinterest/dbt_pinterest_source/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": 1656628609.5156631}, "macro.dbt_utils.position": {"unique_id": "macro.dbt_utils.position", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.516117}, "macro.dbt_utils.default__position": {"unique_id": "macro.dbt_utils.default__position", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.516261}, "macro.dbt_utils.bigquery__position": {"unique_id": "macro.dbt_utils.bigquery__position", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.5164008}, "macro.dbt_utils.string_literal": {"unique_id": "macro.dbt_utils.string_literal", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.516801}, "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/pinterest/dbt_pinterest_source/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": 1656628609.516913}, "macro.dbt_utils.current_timestamp": {"unique_id": "macro.dbt_utils.current_timestamp", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.517538}, "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/pinterest/dbt_pinterest_source/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": 1656628609.517659}, "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/pinterest/dbt_pinterest_source/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": 1656628609.51773}, "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/pinterest/dbt_pinterest_source/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": 1656628609.517806}, "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/pinterest/dbt_pinterest_source/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": 1656628609.517973}, "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/pinterest/dbt_pinterest_source/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": 1656628609.518107}, "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/pinterest/dbt_pinterest_source/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": 1656628609.5182662}, "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/pinterest/dbt_pinterest_source/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": 1656628609.518385}, "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/pinterest/dbt_pinterest_source/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": 1656628609.5185301}, "macro.dbt_utils.width_bucket": {"unique_id": "macro.dbt_utils.width_bucket", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.520074}, "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/pinterest/dbt_pinterest_source/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": 1656628609.520581}, "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/pinterest/dbt_pinterest_source/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": 1656628609.52108}, "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/pinterest/dbt_pinterest_source/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": 1656628609.52129}, "macro.dbt_utils.array_concat": {"unique_id": "macro.dbt_utils.array_concat", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.521769}, "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/pinterest/dbt_pinterest_source/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": 1656628609.521913}, "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/pinterest/dbt_pinterest_source/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": 1656628609.5220501}, "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/pinterest/dbt_pinterest_source/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": 1656628609.522187}, "macro.dbt_utils.bool_or": {"unique_id": "macro.dbt_utils.bool_or", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.522604}, "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/pinterest/dbt_pinterest_source/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": 1656628609.5227141}, "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/pinterest/dbt_pinterest_source/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": 1656628609.522889}, "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/pinterest/dbt_pinterest_source/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": 1656628609.522997}, "macro.dbt_utils.last_day": {"unique_id": "macro.dbt_utils.last_day", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.523642}, "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/pinterest/dbt_pinterest_source/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": 1656628609.523935}, "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/pinterest/dbt_pinterest_source/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": 1656628609.5241}, "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/pinterest/dbt_pinterest_source/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": 1656628609.524528}, "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/pinterest/dbt_pinterest_source/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": 1656628609.5247202}, "macro.dbt_utils.split_part": {"unique_id": "macro.dbt_utils.split_part", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.5263019}, "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/pinterest/dbt_pinterest_source/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": 1656628609.526479}, "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/pinterest/dbt_pinterest_source/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": 1656628609.526722}, "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/pinterest/dbt_pinterest_source/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": 1656628609.5270798}, "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/pinterest/dbt_pinterest_source/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": 1656628609.527439}, "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/pinterest/dbt_pinterest_source/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": 1656628609.527819}, "macro.dbt_utils.date_trunc": {"unique_id": "macro.dbt_utils.date_trunc", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.5283022}, "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/pinterest/dbt_pinterest_source/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": 1656628609.5284631}, "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/pinterest/dbt_pinterest_source/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": 1656628609.5286138}, "macro.dbt_utils.array_construct": {"unique_id": "macro.dbt_utils.array_construct", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.52929}, "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/pinterest/dbt_pinterest_source/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": 1656628609.5295649}, "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/pinterest/dbt_pinterest_source/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": 1656628609.5297248}, "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/pinterest/dbt_pinterest_source/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": 1656628609.529879}, "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/pinterest/dbt_pinterest_source/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": 1656628609.530028}, "macro.dbt_utils._is_ephemeral": {"unique_id": "macro.dbt_utils._is_ephemeral", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.5310879}, "macro.dbt_utils.array_append": {"unique_id": "macro.dbt_utils.array_append", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.53156}, "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/pinterest/dbt_pinterest_source/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": 1656628609.531708}, "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/pinterest/dbt_pinterest_source/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": 1656628609.531917}, "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/pinterest/dbt_pinterest_source/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": 1656628609.5321212}, "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/pinterest/dbt_pinterest_source/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": 1656628609.538211}, "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/pinterest/dbt_pinterest_source/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": 1656628609.538778}, "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/pinterest/dbt_pinterest_source/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": 1656628609.539125}, "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/pinterest/dbt_pinterest_source/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": 1656628609.539669}, "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/pinterest/dbt_pinterest_source/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": 1656628609.547057}, "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/pinterest/dbt_pinterest_source/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": 1656628609.5478458}, "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/pinterest/dbt_pinterest_source/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": 1656628609.5483782}, "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/pinterest/dbt_pinterest_source/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": 1656628609.549006}, "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/pinterest/dbt_pinterest_source/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": 1656628609.549706}, "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/pinterest/dbt_pinterest_source/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": 1656628609.5501509}, "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/pinterest/dbt_pinterest_source/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": 1656628609.550499}, "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/pinterest/dbt_pinterest_source/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": 1656628609.551137}, "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/pinterest/dbt_pinterest_source/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": 1656628609.551384}, "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/pinterest/dbt_pinterest_source/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": 1656628609.552136}, "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/pinterest/dbt_pinterest_source/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": 1656628609.552598}, "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/pinterest/dbt_pinterest_source/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": 1656628609.553438}, "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/pinterest/dbt_pinterest_source/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": 1656628609.553805}, "macro.dbt_utils.test_recency": {"unique_id": "macro.dbt_utils.test_recency", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.554322}, "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/pinterest/dbt_pinterest_source/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": 1656628609.554898}, "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/pinterest/dbt_pinterest_source/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": 1656628609.555563}, "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/pinterest/dbt_pinterest_source/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": 1656628609.5557818}, "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/pinterest/dbt_pinterest_source/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": 1656628609.556778}, "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/pinterest/dbt_pinterest_source/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": 1656628609.557426}, "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/pinterest/dbt_pinterest_source/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": 1656628609.5581682}, "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/pinterest/dbt_pinterest_source/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": 1656628609.5585752}, "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/pinterest/dbt_pinterest_source/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": 1656628609.5591109}, "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/pinterest/dbt_pinterest_source/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": 1656628609.559293}, "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/pinterest/dbt_pinterest_source/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": 1656628609.5597079}, "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/pinterest/dbt_pinterest_source/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": 1656628609.559895}, "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/pinterest/dbt_pinterest_source/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": 1656628609.560586}, "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/pinterest/dbt_pinterest_source/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": 1656628609.5612748}, "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/pinterest/dbt_pinterest_source/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": 1656628609.5619478}, "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/pinterest/dbt_pinterest_source/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": 1656628609.5623062}, "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/pinterest/dbt_pinterest_source/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": 1656628609.56288}, "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/pinterest/dbt_pinterest_source/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": 1656628609.563188}, "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/pinterest/dbt_pinterest_source/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": 1656628609.563704}, "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/pinterest/dbt_pinterest_source/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": 1656628609.564258}, "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/pinterest/dbt_pinterest_source/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": 1656628609.5650098}, "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/pinterest/dbt_pinterest_source/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": 1656628609.5657449}, "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/pinterest/dbt_pinterest_source/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": 1656628609.566388}, "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/pinterest/dbt_pinterest_source/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": 1656628609.56658}, "macro.dbt_utils.test_equality": {"unique_id": "macro.dbt_utils.test_equality", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.56749}, "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/pinterest/dbt_pinterest_source/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": 1656628609.568438}, "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/pinterest/dbt_pinterest_source/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": 1656628609.571681}, "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/pinterest/dbt_pinterest_source/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": 1656628609.573295}, "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/pinterest/dbt_pinterest_source/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": 1656628609.573754}, "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/pinterest/dbt_pinterest_source/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": 1656628609.5739362}, "macro.dbt_utils.pretty_time": {"unique_id": "macro.dbt_utils.pretty_time", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.5743098}, "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/pinterest/dbt_pinterest_source/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": 1656628609.574531}, "macro.dbt_utils.log_info": {"unique_id": "macro.dbt_utils.log_info", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.574881}, "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/pinterest/dbt_pinterest_source/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": 1656628609.57507}, "macro.dbt_utils.slugify": {"unique_id": "macro.dbt_utils.slugify", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.575639}, "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/pinterest/dbt_pinterest_source/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": 1656628609.5765471}, "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/pinterest/dbt_pinterest_source/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": 1656628609.577224}, "macro.dbt_utils.date_spine": {"unique_id": "macro.dbt_utils.date_spine", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.577485}, "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/pinterest/dbt_pinterest_source/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": 1656628609.577878}, "macro.dbt_utils.nullcheck_table": {"unique_id": "macro.dbt_utils.nullcheck_table", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.578399}, "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/pinterest/dbt_pinterest_source/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": 1656628609.579108}, "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/pinterest/dbt_pinterest_source/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": 1656628609.579925}, "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/pinterest/dbt_pinterest_source/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": 1656628609.5808482}, "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/pinterest/dbt_pinterest_source/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": 1656628609.5818088}, "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/pinterest/dbt_pinterest_source/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": 1656628609.582268}, "macro.dbt_utils.generate_series": {"unique_id": "macro.dbt_utils.generate_series", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.582474}, "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/pinterest/dbt_pinterest_source/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": 1656628609.58302}, "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/pinterest/dbt_pinterest_source/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": 1656628609.583833}, "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/pinterest/dbt_pinterest_source/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": 1656628609.5847528}, "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/pinterest/dbt_pinterest_source/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": 1656628609.585338}, "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/pinterest/dbt_pinterest_source/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": 1656628609.585647}, "macro.dbt_utils.star": {"unique_id": "macro.dbt_utils.star", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.5866299}, "macro.dbt_utils.default__star": {"unique_id": "macro.dbt_utils.default__star", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.587827}, "macro.dbt_utils.unpivot": {"unique_id": "macro.dbt_utils.unpivot", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.5898519}, "macro.dbt_utils.default__unpivot": {"unique_id": "macro.dbt_utils.default__unpivot", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.615718}, "macro.dbt_utils.union_relations": {"unique_id": "macro.dbt_utils.union_relations", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.618656}, "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/pinterest/dbt_pinterest_source/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": 1656628609.621978}, "macro.dbt_utils.group_by": {"unique_id": "macro.dbt_utils.group_by", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.622442}, "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/pinterest/dbt_pinterest_source/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": 1656628609.622724}, "macro.dbt_utils.deduplicate": {"unique_id": "macro.dbt_utils.deduplicate", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.625355}, "macro.dbt_utils.default__deduplicate": {"unique_id": "macro.dbt_utils.default__deduplicate", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.625598}, "macro.dbt_utils.redshift__deduplicate": {"unique_id": "macro.dbt_utils.redshift__deduplicate", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.62582}, "macro.dbt_utils.postgres__deduplicate": {"unique_id": "macro.dbt_utils.postgres__deduplicate", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.626025}, "macro.dbt_utils.snowflake__deduplicate": {"unique_id": "macro.dbt_utils.snowflake__deduplicate", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.626206}, "macro.dbt_utils.bigquery__deduplicate": {"unique_id": "macro.dbt_utils.bigquery__deduplicate", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.626386}, "macro.dbt_utils.surrogate_key": {"unique_id": "macro.dbt_utils.surrogate_key", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.627084}, "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/pinterest/dbt_pinterest_source/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": 1656628609.628098}, "macro.dbt_utils.safe_add": {"unique_id": "macro.dbt_utils.safe_add", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.628597}, "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/pinterest/dbt_pinterest_source/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": 1656628609.628906}, "macro.dbt_utils.nullcheck": {"unique_id": "macro.dbt_utils.nullcheck", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.629344}, "macro.dbt_utils.default__nullcheck": {"unique_id": "macro.dbt_utils.default__nullcheck", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.6297019}, "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/pinterest/dbt_pinterest_source/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": 1656628609.63134}, "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/pinterest/dbt_pinterest_source/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": 1656628609.63164}, "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/pinterest/dbt_pinterest_source/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": 1656628609.6325052}, "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/pinterest/dbt_pinterest_source/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": 1656628609.633066}, "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/pinterest/dbt_pinterest_source/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": 1656628609.63433}, "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/pinterest/dbt_pinterest_source/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": 1656628609.635995}, "macro.dbt_utils.pivot": {"unique_id": "macro.dbt_utils.pivot", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.6372008}, "macro.dbt_utils.default__pivot": {"unique_id": "macro.dbt_utils.default__pivot", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.638135}, "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/pinterest/dbt_pinterest_source/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": 1656628609.638725}, "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/pinterest/dbt_pinterest_source/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": 1656628609.639522}, "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/pinterest/dbt_pinterest_source/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": 1656628609.640001}, "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/pinterest/dbt_pinterest_source/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": 1656628609.640644}, "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/pinterest/dbt_pinterest_source/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": 1656628609.641214}, "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/pinterest/dbt_pinterest_source/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": 1656628609.6413062}, "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/pinterest/dbt_pinterest_source/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": 1656628609.641397}, "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/pinterest/dbt_pinterest_source/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": 1656628609.641483}, "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/pinterest/dbt_pinterest_source/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": 1656628609.642688}, "macro.dbt_utils.haversine_distance": {"unique_id": "macro.dbt_utils.haversine_distance", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.643023}, "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/pinterest/dbt_pinterest_source/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": 1656628609.644607}, "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/pinterest/dbt_pinterest_source/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": 1656628609.645576}, "macro.spark_utils.get_tables": {"unique_id": "macro.spark_utils.get_tables", "package_name": "spark_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.650861}, "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/pinterest/dbt_pinterest_source/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": 1656628609.651618}, "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/pinterest/dbt_pinterest_source/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": 1656628609.6525922}, "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/pinterest/dbt_pinterest_source/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": 1656628609.6533918}, "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/pinterest/dbt_pinterest_source/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": 1656628609.654182}, "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/pinterest/dbt_pinterest_source/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": 1656628609.65519}, "macro.spark_utils.spark__concat": {"unique_id": "macro.spark_utils.spark__concat", "package_name": "spark_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.655474}, "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/pinterest/dbt_pinterest_source/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": 1656628609.655663}, "macro.spark_utils.spark__dateadd": {"unique_id": "macro.spark_utils.spark__dateadd", "package_name": "spark_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.658667}, "macro.spark_utils.spark__datediff": {"unique_id": "macro.spark_utils.spark__datediff", "package_name": "spark_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.666473}, "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/pinterest/dbt_pinterest_source/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": 1656628609.666798}, "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/pinterest/dbt_pinterest_source/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": 1656628609.666878}, "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/pinterest/dbt_pinterest_source/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": 1656628609.667566}, "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/pinterest/dbt_pinterest_source/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": 1656628609.669297}, "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/pinterest/dbt_pinterest_source/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": 1656628609.669666}, "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/pinterest/dbt_pinterest_source/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": 1656628609.669966}, "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/pinterest/dbt_pinterest_source/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": 1656628609.670261}, "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/pinterest/dbt_pinterest_source/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": 1656628609.670679}, "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/pinterest/dbt_pinterest_source/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": 1656628609.670898}, "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/pinterest/dbt_pinterest_source/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": 1656628609.671207}, "macro.fivetran_utils.enabled_vars": {"unique_id": "macro.fivetran_utils.enabled_vars", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.671704}, "macro.fivetran_utils.percentile": {"unique_id": "macro.fivetran_utils.percentile", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.6727118}, "macro.fivetran_utils.default__percentile": {"unique_id": "macro.fivetran_utils.default__percentile", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.672891}, "macro.fivetran_utils.redshift__percentile": {"unique_id": "macro.fivetran_utils.redshift__percentile", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.673065}, "macro.fivetran_utils.bigquery__percentile": {"unique_id": "macro.fivetran_utils.bigquery__percentile", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.6732411}, "macro.fivetran_utils.postgres__percentile": {"unique_id": "macro.fivetran_utils.postgres__percentile", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.6733959}, "macro.fivetran_utils.spark__percentile": {"unique_id": "macro.fivetran_utils.spark__percentile", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.673568}, "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/pinterest/dbt_pinterest_source/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": 1656628609.67411}, "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/pinterest/dbt_pinterest_source/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) %}\n\n{% if var(pass_through_variable, none) %}\n {% for field in var(pass_through_variable) %}\n , {{ 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": 1656628609.6747148}, "macro.fivetran_utils.json_parse": {"unique_id": "macro.fivetran_utils.json_parse", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.6759381}, "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/pinterest/dbt_pinterest_source/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": 1656628609.67622}, "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/pinterest/dbt_pinterest_source/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": 1656628609.676491}, "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/pinterest/dbt_pinterest_source/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": 1656628609.676755}, "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/pinterest/dbt_pinterest_source/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": 1656628609.677014}, "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/pinterest/dbt_pinterest_source/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": 1656628609.677304}, "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/pinterest/dbt_pinterest_source/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": 1656628609.677592}, "macro.fivetran_utils.max_bool": {"unique_id": "macro.fivetran_utils.max_bool", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.678018}, "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/pinterest/dbt_pinterest_source/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": 1656628609.67813}, "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/pinterest/dbt_pinterest_source/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": 1656628609.678236}, "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/pinterest/dbt_pinterest_source/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": 1656628609.6783412}, "macro.fivetran_utils.calculated_fields": {"unique_id": "macro.fivetran_utils.calculated_fields", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.678817}, "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/pinterest/dbt_pinterest_source/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": 1656628609.6795142}, "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/pinterest/dbt_pinterest_source/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": 1656628609.6802619}, "macro.fivetran_utils.string_agg": {"unique_id": "macro.fivetran_utils.string_agg", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.680832}, "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/pinterest/dbt_pinterest_source/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": 1656628609.6809778}, "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/pinterest/dbt_pinterest_source/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": 1656628609.68112}, "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/pinterest/dbt_pinterest_source/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": 1656628609.6812558}, "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/pinterest/dbt_pinterest_source/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": 1656628609.681398}, "macro.fivetran_utils.timestamp_diff": {"unique_id": "macro.fivetran_utils.timestamp_diff", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.6844501}, "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/pinterest/dbt_pinterest_source/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": 1656628609.684661}, "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/pinterest/dbt_pinterest_source/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": 1656628609.6848419}, "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/pinterest/dbt_pinterest_source/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": 1656628609.6850162}, "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/pinterest/dbt_pinterest_source/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": 1656628609.6869}, "macro.fivetran_utils.try_cast": {"unique_id": "macro.fivetran_utils.try_cast", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.6878898}, "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/pinterest/dbt_pinterest_source/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": 1656628609.688046}, "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/pinterest/dbt_pinterest_source/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": 1656628609.6883478}, "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/pinterest/dbt_pinterest_source/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": 1656628609.688663}, "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/pinterest/dbt_pinterest_source/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": 1656628609.688807}, "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/pinterest/dbt_pinterest_source/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": 1656628609.688941}, "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/pinterest/dbt_pinterest_source/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": 1656628609.689075}, "macro.fivetran_utils.source_relation": {"unique_id": "macro.fivetran_utils.source_relation", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.689688}, "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/pinterest/dbt_pinterest_source/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": 1656628609.690325}, "macro.fivetran_utils.first_value": {"unique_id": "macro.fivetran_utils.first_value", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.690926}, "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/pinterest/dbt_pinterest_source/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": 1656628609.6911519}, "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/pinterest/dbt_pinterest_source/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": 1656628609.691398}, "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/pinterest/dbt_pinterest_source/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": 1656628609.691752}, "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/pinterest/dbt_pinterest_source/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": 1656628609.692794}, "macro.fivetran_utils.union_relations": {"unique_id": "macro.fivetran_utils.union_relations", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.697053}, "macro.fivetran_utils.union_tables": {"unique_id": "macro.fivetran_utils.union_tables", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.697451}, "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/pinterest/dbt_pinterest_source/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": 1656628609.697933}, "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/pinterest/dbt_pinterest_source/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": 1656628609.699618}, "macro.fivetran_utils.quote_column": {"unique_id": "macro.fivetran_utils.quote_column", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.700224}, "macro.fivetran_utils.json_extract": {"unique_id": "macro.fivetran_utils.json_extract", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.7008781}, "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/pinterest/dbt_pinterest_source/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": 1656628609.70105}, "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/pinterest/dbt_pinterest_source/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": 1656628609.701216}, "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/pinterest/dbt_pinterest_source/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": 1656628609.701401}, "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/pinterest/dbt_pinterest_source/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": 1656628609.701567}, "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/pinterest/dbt_pinterest_source/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": 1656628609.701728}, "macro.fivetran_utils.collect_freshness": {"unique_id": "macro.fivetran_utils.collect_freshness", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.7025201}, "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/pinterest/dbt_pinterest_source/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": 1656628609.70359}, "macro.fivetran_utils.timestamp_add": {"unique_id": "macro.fivetran_utils.timestamp_add", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.704372}, "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/pinterest/dbt_pinterest_source/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": 1656628609.704551}, "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/pinterest/dbt_pinterest_source/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": 1656628609.704724}, "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/pinterest/dbt_pinterest_source/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": 1656628609.704912}, "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/pinterest/dbt_pinterest_source/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": 1656628609.70509}, "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/pinterest/dbt_pinterest_source/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": 1656628609.705281}, "macro.fivetran_utils.ceiling": {"unique_id": "macro.fivetran_utils.ceiling", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.705627}, "macro.fivetran_utils.default__ceiling": {"unique_id": "macro.fivetran_utils.default__ceiling", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.705803}, "macro.fivetran_utils.snowflake__ceiling": {"unique_id": "macro.fivetran_utils.snowflake__ceiling", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.70591}, "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/pinterest/dbt_pinterest_source/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": 1656628609.706679}, "macro.fivetran_utils.union_data": {"unique_id": "macro.fivetran_utils.union_data", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.708011}, "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/pinterest/dbt_pinterest_source/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": 1656628609.7099252}, "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/pinterest/dbt_pinterest_source/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": 1656628609.711524}, "macro.fivetran_utils.array_agg": {"unique_id": "macro.fivetran_utils.array_agg", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.71188}, "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/pinterest/dbt_pinterest_source/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": 1656628609.711993}, "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/pinterest/dbt_pinterest_source/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": 1656628609.712099}, "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/pinterest/dbt_pinterest_source/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": 1656628609.712609}, "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/pinterest/dbt_pinterest_source/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": 1656628609.7131011}, "macro.pinterest_source.get_ad_group_history_columns": {"unique_id": "macro.pinterest_source.get_ad_group_history_columns", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "macros/get_ad_group_history_columns.sql", "original_file_path": "macros/get_ad_group_history_columns.sql", "name": "get_ad_group_history_columns", "macro_sql": "{% macro get_ad_group_history_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"campaign_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"created_time\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"end_time\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"name\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"start_time\", \"datatype\": dbt_utils.type_timestamp()},\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_string"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1656628609.714228}, "macro.pinterest_source.get_pin_promotion_history_columns": {"unique_id": "macro.pinterest_source.get_pin_promotion_history_columns", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "macros/get_pin_promotion_history_columns.sql", "original_file_path": "macros/get_pin_promotion_history_columns.sql", "name": "get_pin_promotion_history_columns", "macro_sql": "{% macro get_pin_promotion_history_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"ad_group_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"android_deep_link\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"click_tracking_url\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"created_time\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"creative_type\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"destination_url\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"ios_deep_link\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"is_pin_deleted\", \"datatype\": \"boolean\"},\n {\"name\": \"is_removable\", \"datatype\": \"boolean\"},\n {\"name\": \"name\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"pin_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"review_status\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"status\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"updated_time\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"view_tracking_url\", \"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_string"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1656628609.716458}, "macro.pinterest_source.get_keyword_report_columns": {"unique_id": "macro.pinterest_source.get_keyword_report_columns", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "macros/get_keyword_report_columns.sql", "original_file_path": "macros/get_keyword_report_columns.sql", "name": "get_keyword_report_columns", "macro_sql": "{% macro get_keyword_report_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"ad_group_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"ad_group_name\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"ad_group_status\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"advertiser_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"campaign_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"clickthrough_1\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"clickthrough_2\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"date\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"impression_1\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"impression_2\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"keyword_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"pin_promotion_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"spend_in_micro_dollar\", \"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_string", "macro.dbt_utils.type_int"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1656628609.718288}, "macro.pinterest_source.get_pin_promotion_report_columns": {"unique_id": "macro.pinterest_source.get_pin_promotion_report_columns", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "macros/get_pin_promotion_report_columns.sql", "original_file_path": "macros/get_pin_promotion_report_columns.sql", "name": "get_pin_promotion_report_columns", "macro_sql": "{% macro get_pin_promotion_report_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"ad_group_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"advertiser_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"campaign_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"clickthrough_1\", \"datatype\": dbt_utils.type_numeric()},\n {\"name\": \"clickthrough_2\", \"datatype\": dbt_utils.type_numeric()},\n {\"name\": \"date\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"impression_1\", \"datatype\": dbt_utils.type_numeric()},\n {\"name\": \"impression_2\", \"datatype\": dbt_utils.type_numeric()},\n {\"name\": \"pin_promotion_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"spend_in_micro_dollar\", \"datatype\": dbt_utils.type_numeric()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.type_timestamp", "macro.dbt_utils.type_string", "macro.dbt_utils.type_numeric"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1656628609.7197719}, "macro.pinterest_source.get_campaign_report_columns": {"unique_id": "macro.pinterest_source.get_campaign_report_columns", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "macros/get_campaign_report_columns.sql", "original_file_path": "macros/get_campaign_report_columns.sql", "name": "get_campaign_report_columns", "macro_sql": "{% macro get_campaign_report_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"advertiser_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"campaign_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"campaign_name\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"campaign_status\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"clickthrough_1\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"clickthrough_2\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"date\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"impression_1\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"impression_2\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"spend_in_micro_dollar\", \"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_string", "macro.dbt_utils.type_int"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1656628609.72124}, "macro.pinterest_source.get_campaign_history_columns": {"unique_id": "macro.pinterest_source.get_campaign_history_columns", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_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\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"created_time\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"advertiser_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"name\", \"datatype\": dbt_utils.type_string()},\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_string"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1656628609.722191}, "macro.pinterest_source.get_advertiser_history_columns": {"unique_id": "macro.pinterest_source.get_advertiser_history_columns", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "macros/get_advertiser_history_columns.sql", "original_file_path": "macros/get_advertiser_history_columns.sql", "name": "get_advertiser_history_columns", "macro_sql": "{% macro get_advertiser_history_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"billing_profile_status\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"billing_type\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"country\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"created_time\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"currency\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"merchant_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"name\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"owner_user_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"status\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"updated_time\", \"datatype\": dbt_utils.type_timestamp()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.type_timestamp", "macro.dbt_utils.type_string"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1656628609.723756}, "macro.pinterest_source.get_ad_group_report_columns": {"unique_id": "macro.pinterest_source.get_ad_group_report_columns", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "macros/get_ad_group_report_columns.sql", "original_file_path": "macros/get_ad_group_report_columns.sql", "name": "get_ad_group_report_columns", "macro_sql": "{% macro get_ad_group_report_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"ad_group_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"ad_group_name\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"ad_group_status\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"advertiser_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"campaign_id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"clickthrough_1\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"clickthrough_2\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"date\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"impression_1\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"impression_2\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"spend_in_micro_dollar\", \"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_string", "macro.dbt_utils.type_int"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1656628609.725364}, "macro.pinterest_source.get_keyword_history_columns": {"unique_id": "macro.pinterest_source.get_keyword_history_columns", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "macros/get_keyword_history_columns.sql", "original_file_path": "macros/get_keyword_history_columns.sql", "name": "get_keyword_history_columns", "macro_sql": "{% macro get_keyword_history_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"ad_group_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"advertiser_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"archived\", \"datatype\": \"boolean\"},\n {\"name\": \"bid\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"campaign_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"match_type\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"parent_type\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"value\", \"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": 1656628609.7268422}, "macro.pinterest_source.get_advertiser_report_columns": {"unique_id": "macro.pinterest_source.get_advertiser_report_columns", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "macros/get_advertiser_report_columns.sql", "original_file_path": "macros/get_advertiser_report_columns.sql", "name": "get_advertiser_report_columns", "macro_sql": "{% macro get_advertiser_report_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"advertiser_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"clickthrough_1\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"clickthrough_2\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"date\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"impression_1\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"impression_2\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"spend_in_micro_dollar\", \"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_string", "macro.dbt_utils.type_int"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1656628609.728008}}, "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"}, "pinterest_source._fivetran_synced": {"unique_id": "pinterest_source._fivetran_synced", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "_fivetran_synced", "block_contents": "Timestamp of when a record was last synced."}, "pinterest_source.is_most_recent_record": {"unique_id": "pinterest_source.is_most_recent_record", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "is_most_recent_record", "block_contents": "Boolean representing whether the record is the most recent version of the object."}, "pinterest_source.date_day": {"unique_id": "pinterest_source.date_day", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "date_day", "block_contents": "The performance date of the record."}, "pinterest_source.ad_group_id": {"unique_id": "pinterest_source.ad_group_id", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "ad_group_id", "block_contents": "The ID of the related Ad group."}, "pinterest_source.pin_promotion_id": {"unique_id": "pinterest_source.pin_promotion_id", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "pin_promotion_id", "block_contents": "The ID of the related Pin promotion."}, "pinterest_source.campaign_id": {"unique_id": "pinterest_source.campaign_id", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "campaign_id", "block_contents": "The ID of the related Campaign."}, "pinterest_source.advertiser_id": {"unique_id": "pinterest_source.advertiser_id", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "advertiser_id", "block_contents": "The ID of the related Advertiser."}, "pinterest_source.impressions": {"unique_id": "pinterest_source.impressions", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "impressions", "block_contents": "The number of impressions that occurred on the day of the record."}, "pinterest_source.clicks": {"unique_id": "pinterest_source.clicks", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "clicks", "block_contents": "The number of clicks that occurred on the day of the record."}, "pinterest_source.spend": {"unique_id": "pinterest_source.spend", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "spend", "block_contents": "The amount of spend that occurred on the day of the record."}, "pinterest_source.updated_at": {"unique_id": "pinterest_source.updated_at", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "updated_at", "block_contents": "Timestamp of when a record was last updated."}, "pinterest_source.created_at": {"unique_id": "pinterest_source.created_at", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "created_at", "block_contents": "Timestamp of when a record was created."}, "pinterest_source.spend_in_micro_dollar": {"unique_id": "pinterest_source.spend_in_micro_dollar", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "spend_in_micro_dollar", "block_contents": "The amount of spend in micro dollars that occurred on the day of the record."}, "pinterest_source.clickthrough_1": {"unique_id": "pinterest_source.clickthrough_1", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "clickthrough_1", "block_contents": "The number of paid pin clicks that occurred on the day of the record."}, "pinterest_source.clickthrough_2": {"unique_id": "pinterest_source.clickthrough_2", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "clickthrough_2", "block_contents": "The number of earned outbound clicks that occurred on the day of the record."}, "pinterest_source.impression_1": {"unique_id": "pinterest_source.impression_1", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "impression_1", "block_contents": "The number of paid pin impressions that occurred on the day of the record."}, "pinterest_source.impression_2": {"unique_id": "pinterest_source.impression_2", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "impression_2", "block_contents": "The number of earned pin impressions that occurred on the day of the record."}}, "exposures": {}, "metrics": {}, "selectors": {}, "disabled": {}, "parent_map": {"seed.pinterest_source_integration_tests.ad_group_report_data": [], "seed.pinterest_source_integration_tests.keyword_report_data": [], "seed.pinterest_source_integration_tests.pin_promotion_history_data": [], "seed.pinterest_source_integration_tests.advertiser_history_data": [], "seed.pinterest_source_integration_tests.advertiser_report_data": [], "seed.pinterest_source_integration_tests.ad_group_history_data": [], "seed.pinterest_source_integration_tests.campaign_history_data": [], "seed.pinterest_source_integration_tests.campaign_report_data": [], "seed.pinterest_source_integration_tests.keyword_history_data": [], "seed.pinterest_source_integration_tests.pin_promotion_report_data": [], "model.pinterest_source.stg_pinterest_ads__pin_promotion_history": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_history_tmp", "model.pinterest_source.stg_pinterest_ads__pin_promotion_history_tmp"], "model.pinterest_source.stg_pinterest_ads__keyword_report": ["model.pinterest_source.stg_pinterest_ads__keyword_report_tmp", "model.pinterest_source.stg_pinterest_ads__keyword_report_tmp"], "model.pinterest_source.stg_pinterest_ads__ad_group_report": ["model.pinterest_source.stg_pinterest_ads__ad_group_report_tmp", "model.pinterest_source.stg_pinterest_ads__ad_group_report_tmp"], "model.pinterest_source.stg_pinterest_ads__campaign_history": ["model.pinterest_source.stg_pinterest_ads__campaign_history_tmp", "model.pinterest_source.stg_pinterest_ads__campaign_history_tmp"], "model.pinterest_source.stg_pinterest_ads__advertiser_report": ["model.pinterest_source.stg_pinterest_ads__advertiser_report_tmp", "model.pinterest_source.stg_pinterest_ads__advertiser_report_tmp"], "model.pinterest_source.stg_pinterest_ads__advertiser_history": ["model.pinterest_source.stg_pinterest_ads__advertiser_history_tmp", "model.pinterest_source.stg_pinterest_ads__advertiser_history_tmp"], "model.pinterest_source.stg_pinterest_ads__campaign_report": ["model.pinterest_source.stg_pinterest_ads__campaign_report_tmp", "model.pinterest_source.stg_pinterest_ads__campaign_report_tmp"], "model.pinterest_source.stg_pinterest_ads__keyword_history": ["model.pinterest_source.stg_pinterest_ads__keyword_history_tmp", "model.pinterest_source.stg_pinterest_ads__keyword_history_tmp"], "model.pinterest_source.stg_pinterest_ads__pin_promotion_report": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_report_tmp", "model.pinterest_source.stg_pinterest_ads__pin_promotion_report_tmp"], "model.pinterest_source.stg_pinterest_ads__ad_group_history": ["model.pinterest_source.stg_pinterest_ads__ad_group_history_tmp", "model.pinterest_source.stg_pinterest_ads__ad_group_history_tmp"], "model.pinterest_source.stg_pinterest_ads__advertiser_history_tmp": ["source.pinterest_source.pinterest_ads.advertiser_history"], "model.pinterest_source.stg_pinterest_ads__pin_promotion_report_tmp": ["source.pinterest_source.pinterest_ads.pin_promotion_report"], "model.pinterest_source.stg_pinterest_ads__campaign_report_tmp": ["source.pinterest_source.pinterest_ads.campaign_report"], "model.pinterest_source.stg_pinterest_ads__advertiser_report_tmp": ["source.pinterest_source.pinterest_ads.advertiser_report"], "model.pinterest_source.stg_pinterest_ads__keyword_report_tmp": ["source.pinterest_source.pinterest_ads.keyword_report"], "model.pinterest_source.stg_pinterest_ads__ad_group_report_tmp": ["source.pinterest_source.pinterest_ads.ad_group_report"], "model.pinterest_source.stg_pinterest_ads__keyword_history_tmp": ["source.pinterest_source.pinterest_ads.keyword_history"], "model.pinterest_source.stg_pinterest_ads__campaign_history_tmp": ["source.pinterest_source.pinterest_ads.campaign_history"], "model.pinterest_source.stg_pinterest_ads__ad_group_history_tmp": ["source.pinterest_source.pinterest_ads.ad_group_history"], "model.pinterest_source.stg_pinterest_ads__pin_promotion_history_tmp": ["source.pinterest_source.pinterest_ads.pin_promotion_history"], "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_history_ad_group_id.220c6220be": ["model.pinterest_source.stg_pinterest_ads__ad_group_history"], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_history_ad_group_id___fivetran_synced.1132e1f339": ["model.pinterest_source.stg_pinterest_ads__ad_group_history"], "test.pinterest_source.not_null_stg_pinterest_ads__campaign_history_campaign_id.60cb10d341": ["model.pinterest_source.stg_pinterest_ads__campaign_history"], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_history_campaign_id___fivetran_synced.eff7196b87": ["model.pinterest_source.stg_pinterest_ads__campaign_history"], "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_history_pin_promotion_id.171995cd34": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_history"], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_history__fivetran_synced__pin_promotion_id.8e9ab31ea9": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_history"], "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_report_date_day.ed272212a1": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_report"], "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_report_pin_promotion_id.9c3c9f71ab": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_report"], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_report_date_day__pin_promotion_id.f30a887f4d": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_report"], "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_report_date_day.80e8904c4c": ["model.pinterest_source.stg_pinterest_ads__ad_group_report"], "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_report_ad_group_id.bb8cf3c471": ["model.pinterest_source.stg_pinterest_ads__ad_group_report"], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_report_date_day__ad_group_id.959c0f8422": ["model.pinterest_source.stg_pinterest_ads__ad_group_report"], "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_history_advertiser_id.7d24f665fb": ["model.pinterest_source.stg_pinterest_ads__advertiser_history"], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_history_updated_at__advertiser_id.94e8f4de4b": ["model.pinterest_source.stg_pinterest_ads__advertiser_history"], "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_report_date_day.153bd03c95": ["model.pinterest_source.stg_pinterest_ads__advertiser_report"], "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_report_advertiser_id.1b16ed73ff": ["model.pinterest_source.stg_pinterest_ads__advertiser_report"], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_report_date_day__advertiser_id.e92ce8a9c0": ["model.pinterest_source.stg_pinterest_ads__advertiser_report"], "test.pinterest_source.not_null_stg_pinterest_ads__campaign_report_date_day.7ef5fb1238": ["model.pinterest_source.stg_pinterest_ads__campaign_report"], "test.pinterest_source.not_null_stg_pinterest_ads__campaign_report_campaign_id.a287eba0fc": ["model.pinterest_source.stg_pinterest_ads__campaign_report"], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_report_date_day__campaign_id.968175d475": ["model.pinterest_source.stg_pinterest_ads__campaign_report"], "test.pinterest_source.not_null_stg_pinterest_ads__keyword_history_keyword_id.246889377a": ["model.pinterest_source.stg_pinterest_ads__keyword_history"], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_history_keyword_id___fivetran_synced.e73fb0a4db": ["model.pinterest_source.stg_pinterest_ads__keyword_history"], "test.pinterest_source.not_null_stg_pinterest_ads__keyword_report_date_day.9937216300": ["model.pinterest_source.stg_pinterest_ads__keyword_report"], "test.pinterest_source.not_null_stg_pinterest_ads__keyword_report_keyword_id.5f00679c48": ["model.pinterest_source.stg_pinterest_ads__keyword_report"], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_report_date_day__keyword_id.fe6a646a5a": ["model.pinterest_source.stg_pinterest_ads__keyword_report"], "source.pinterest_source.pinterest_ads.pin_promotion_report": [], "source.pinterest_source.pinterest_ads.pin_promotion_history": [], "source.pinterest_source.pinterest_ads.campaign_history": [], "source.pinterest_source.pinterest_ads.ad_group_history": [], "source.pinterest_source.pinterest_ads.ad_group_report": [], "source.pinterest_source.pinterest_ads.advertiser_history": [], "source.pinterest_source.pinterest_ads.advertiser_report": [], "source.pinterest_source.pinterest_ads.campaign_report": [], "source.pinterest_source.pinterest_ads.keyword_history": [], "source.pinterest_source.pinterest_ads.keyword_report": []}, "child_map": {"seed.pinterest_source_integration_tests.ad_group_report_data": [], "seed.pinterest_source_integration_tests.keyword_report_data": [], "seed.pinterest_source_integration_tests.pin_promotion_history_data": [], "seed.pinterest_source_integration_tests.advertiser_history_data": [], "seed.pinterest_source_integration_tests.advertiser_report_data": [], "seed.pinterest_source_integration_tests.ad_group_history_data": [], "seed.pinterest_source_integration_tests.campaign_history_data": [], "seed.pinterest_source_integration_tests.campaign_report_data": [], "seed.pinterest_source_integration_tests.keyword_history_data": [], "seed.pinterest_source_integration_tests.pin_promotion_report_data": [], "model.pinterest_source.stg_pinterest_ads__pin_promotion_history": ["test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_history__fivetran_synced__pin_promotion_id.8e9ab31ea9", "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_history_pin_promotion_id.171995cd34"], "model.pinterest_source.stg_pinterest_ads__keyword_report": ["test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_report_date_day__keyword_id.fe6a646a5a", "test.pinterest_source.not_null_stg_pinterest_ads__keyword_report_date_day.9937216300", "test.pinterest_source.not_null_stg_pinterest_ads__keyword_report_keyword_id.5f00679c48"], "model.pinterest_source.stg_pinterest_ads__ad_group_report": ["test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_report_date_day__ad_group_id.959c0f8422", "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_report_ad_group_id.bb8cf3c471", "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_report_date_day.80e8904c4c"], "model.pinterest_source.stg_pinterest_ads__campaign_history": ["test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_history_campaign_id___fivetran_synced.eff7196b87", "test.pinterest_source.not_null_stg_pinterest_ads__campaign_history_campaign_id.60cb10d341"], "model.pinterest_source.stg_pinterest_ads__advertiser_report": ["test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_report_date_day__advertiser_id.e92ce8a9c0", "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_report_advertiser_id.1b16ed73ff", "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_report_date_day.153bd03c95"], "model.pinterest_source.stg_pinterest_ads__advertiser_history": ["test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_history_updated_at__advertiser_id.94e8f4de4b", "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_history_advertiser_id.7d24f665fb"], "model.pinterest_source.stg_pinterest_ads__campaign_report": ["test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_report_date_day__campaign_id.968175d475", "test.pinterest_source.not_null_stg_pinterest_ads__campaign_report_campaign_id.a287eba0fc", "test.pinterest_source.not_null_stg_pinterest_ads__campaign_report_date_day.7ef5fb1238"], "model.pinterest_source.stg_pinterest_ads__keyword_history": ["test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_history_keyword_id___fivetran_synced.e73fb0a4db", "test.pinterest_source.not_null_stg_pinterest_ads__keyword_history_keyword_id.246889377a"], "model.pinterest_source.stg_pinterest_ads__pin_promotion_report": ["test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_report_date_day__pin_promotion_id.f30a887f4d", "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_report_date_day.ed272212a1", "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_report_pin_promotion_id.9c3c9f71ab"], "model.pinterest_source.stg_pinterest_ads__ad_group_history": ["test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_history_ad_group_id___fivetran_synced.1132e1f339", "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_history_ad_group_id.220c6220be"], "model.pinterest_source.stg_pinterest_ads__advertiser_history_tmp": ["model.pinterest_source.stg_pinterest_ads__advertiser_history", "model.pinterest_source.stg_pinterest_ads__advertiser_history"], "model.pinterest_source.stg_pinterest_ads__pin_promotion_report_tmp": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_report", "model.pinterest_source.stg_pinterest_ads__pin_promotion_report"], "model.pinterest_source.stg_pinterest_ads__campaign_report_tmp": ["model.pinterest_source.stg_pinterest_ads__campaign_report", "model.pinterest_source.stg_pinterest_ads__campaign_report"], "model.pinterest_source.stg_pinterest_ads__advertiser_report_tmp": ["model.pinterest_source.stg_pinterest_ads__advertiser_report", "model.pinterest_source.stg_pinterest_ads__advertiser_report"], "model.pinterest_source.stg_pinterest_ads__keyword_report_tmp": ["model.pinterest_source.stg_pinterest_ads__keyword_report", "model.pinterest_source.stg_pinterest_ads__keyword_report"], "model.pinterest_source.stg_pinterest_ads__ad_group_report_tmp": ["model.pinterest_source.stg_pinterest_ads__ad_group_report", "model.pinterest_source.stg_pinterest_ads__ad_group_report"], "model.pinterest_source.stg_pinterest_ads__keyword_history_tmp": ["model.pinterest_source.stg_pinterest_ads__keyword_history", "model.pinterest_source.stg_pinterest_ads__keyword_history"], "model.pinterest_source.stg_pinterest_ads__campaign_history_tmp": ["model.pinterest_source.stg_pinterest_ads__campaign_history", "model.pinterest_source.stg_pinterest_ads__campaign_history"], "model.pinterest_source.stg_pinterest_ads__ad_group_history_tmp": ["model.pinterest_source.stg_pinterest_ads__ad_group_history", "model.pinterest_source.stg_pinterest_ads__ad_group_history"], "model.pinterest_source.stg_pinterest_ads__pin_promotion_history_tmp": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_history", "model.pinterest_source.stg_pinterest_ads__pin_promotion_history"], "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_history_ad_group_id.220c6220be": [], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_history_ad_group_id___fivetran_synced.1132e1f339": [], "test.pinterest_source.not_null_stg_pinterest_ads__campaign_history_campaign_id.60cb10d341": [], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_history_campaign_id___fivetran_synced.eff7196b87": [], "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_history_pin_promotion_id.171995cd34": [], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_history__fivetran_synced__pin_promotion_id.8e9ab31ea9": [], "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_report_date_day.ed272212a1": [], "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_report_pin_promotion_id.9c3c9f71ab": [], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_report_date_day__pin_promotion_id.f30a887f4d": [], "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_report_date_day.80e8904c4c": [], "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_report_ad_group_id.bb8cf3c471": [], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_report_date_day__ad_group_id.959c0f8422": [], "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_history_advertiser_id.7d24f665fb": [], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_history_updated_at__advertiser_id.94e8f4de4b": [], "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_report_date_day.153bd03c95": [], "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_report_advertiser_id.1b16ed73ff": [], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_report_date_day__advertiser_id.e92ce8a9c0": [], "test.pinterest_source.not_null_stg_pinterest_ads__campaign_report_date_day.7ef5fb1238": [], "test.pinterest_source.not_null_stg_pinterest_ads__campaign_report_campaign_id.a287eba0fc": [], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_report_date_day__campaign_id.968175d475": [], "test.pinterest_source.not_null_stg_pinterest_ads__keyword_history_keyword_id.246889377a": [], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_history_keyword_id___fivetran_synced.e73fb0a4db": [], "test.pinterest_source.not_null_stg_pinterest_ads__keyword_report_date_day.9937216300": [], "test.pinterest_source.not_null_stg_pinterest_ads__keyword_report_keyword_id.5f00679c48": [], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_report_date_day__keyword_id.fe6a646a5a": [], "source.pinterest_source.pinterest_ads.pin_promotion_report": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_report_tmp"], "source.pinterest_source.pinterest_ads.pin_promotion_history": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_history_tmp"], "source.pinterest_source.pinterest_ads.campaign_history": ["model.pinterest_source.stg_pinterest_ads__campaign_history_tmp"], "source.pinterest_source.pinterest_ads.ad_group_history": ["model.pinterest_source.stg_pinterest_ads__ad_group_history_tmp"], "source.pinterest_source.pinterest_ads.ad_group_report": ["model.pinterest_source.stg_pinterest_ads__ad_group_report_tmp"], "source.pinterest_source.pinterest_ads.advertiser_history": ["model.pinterest_source.stg_pinterest_ads__advertiser_history_tmp"], "source.pinterest_source.pinterest_ads.advertiser_report": ["model.pinterest_source.stg_pinterest_ads__advertiser_report_tmp"], "source.pinterest_source.pinterest_ads.campaign_report": ["model.pinterest_source.stg_pinterest_ads__campaign_report_tmp"], "source.pinterest_source.pinterest_ads.keyword_history": ["model.pinterest_source.stg_pinterest_ads__keyword_history_tmp"], "source.pinterest_source.pinterest_ads.keyword_report": ["model.pinterest_source.stg_pinterest_ads__keyword_report_tmp"]}} \ No newline at end of file diff --git a/docs/run_results.json b/docs/run_results.json index b9ec186..82f23ea 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-06-30T19:28:50.185168Z", "invocation_id": "95030cc3-b499-42bd-89f0-d11773ebc3b0", "env": {}}, "results": [{"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T19:28:49.073359Z", "completed_at": "2022-06-30T19:28:49.082717Z"}, {"name": "execute", "started_at": "2022-06-30T19:28:49.083315Z", "completed_at": "2022-06-30T19:28:49.083327Z"}], "thread_id": "Thread-1", "execution_time": 0.011343717575073242, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__ad_group_history_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T19:28:49.073563Z", "completed_at": "2022-06-30T19:28:49.082815Z"}, {"name": "execute", "started_at": "2022-06-30T19:28:49.083468Z", "completed_at": "2022-06-30T19:28:49.083471Z"}], "thread_id": "Thread-3", "execution_time": 0.011240959167480469, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__advertiser_history_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T19:28:49.073450Z", "completed_at": "2022-06-30T19:28:49.082916Z"}, {"name": "execute", "started_at": "2022-06-30T19:28:49.083544Z", "completed_at": "2022-06-30T19:28:49.083547Z"}], "thread_id": "Thread-2", "execution_time": 0.011560916900634766, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__ad_group_report_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T19:28:49.073623Z", "completed_at": "2022-06-30T19:28:49.083106Z"}, {"name": "execute", "started_at": "2022-06-30T19:28:49.083832Z", "completed_at": "2022-06-30T19:28:49.083836Z"}], "thread_id": "Thread-4", "execution_time": 0.011575937271118164, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__advertiser_report_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T19:28:49.086363Z", "completed_at": "2022-06-30T19:28:49.094585Z"}, {"name": "execute", "started_at": "2022-06-30T19:28:49.095298Z", "completed_at": "2022-06-30T19:28:49.095304Z"}], "thread_id": "Thread-1", "execution_time": 0.010826826095581055, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__campaign_history_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T19:28:49.086546Z", "completed_at": "2022-06-30T19:28:49.094843Z"}, {"name": "execute", "started_at": "2022-06-30T19:28:49.095437Z", "completed_at": "2022-06-30T19:28:49.095441Z"}], "thread_id": "Thread-3", "execution_time": 0.010622978210449219, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__campaign_report_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T19:28:49.086633Z", "completed_at": "2022-06-30T19:28:49.094925Z"}, {"name": "execute", "started_at": "2022-06-30T19:28:49.095526Z", "completed_at": "2022-06-30T19:28:49.095530Z"}], "thread_id": "Thread-2", "execution_time": 0.010552644729614258, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__keyword_history_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T19:28:49.088845Z", "completed_at": "2022-06-30T19:28:49.095376Z"}, {"name": "execute", "started_at": "2022-06-30T19:28:49.096274Z", "completed_at": "2022-06-30T19:28:49.096277Z"}], "thread_id": "Thread-4", "execution_time": 0.011092901229858398, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__keyword_report_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T19:28:49.097920Z", "completed_at": "2022-06-30T19:28:49.103405Z"}, {"name": "execute", "started_at": "2022-06-30T19:28:49.104809Z", "completed_at": "2022-06-30T19:28:49.104814Z"}], "thread_id": "Thread-2", "execution_time": 0.007986068725585938, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.pinterest_source_integration_tests.ad_group_history_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T19:28:49.097655Z", "completed_at": "2022-06-30T19:28:49.103464Z"}, {"name": "execute", "started_at": "2022-06-30T19:28:49.104879Z", "completed_at": "2022-06-30T19:28:49.104882Z"}], "thread_id": "Thread-1", "execution_time": 0.008512020111083984, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__pin_promotion_history_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T19:28:49.097858Z", "completed_at": "2022-06-30T19:28:49.104445Z"}, {"name": "execute", "started_at": "2022-06-30T19:28:49.105020Z", "completed_at": "2022-06-30T19:28:49.105022Z"}], "thread_id": "Thread-3", "execution_time": 0.008448123931884766, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__pin_promotion_report_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T19:28:49.103273Z", "completed_at": "2022-06-30T19:28:49.104672Z"}, {"name": "execute", "started_at": "2022-06-30T19:28:49.105392Z", "completed_at": "2022-06-30T19:28:49.105395Z"}], "thread_id": "Thread-4", "execution_time": 0.00822901725769043, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.pinterest_source_integration_tests.ad_group_report_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T19:28:49.107079Z", "completed_at": "2022-06-30T19:28:49.110101Z"}, {"name": "execute", "started_at": "2022-06-30T19:28:49.111794Z", "completed_at": "2022-06-30T19:28:49.111802Z"}], "thread_id": "Thread-2", "execution_time": 0.006007194519042969, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.pinterest_source_integration_tests.advertiser_history_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T19:28:49.107144Z", "completed_at": "2022-06-30T19:28:49.110173Z"}, {"name": "execute", "started_at": "2022-06-30T19:28:49.111886Z", "completed_at": "2022-06-30T19:28:49.111890Z"}], "thread_id": "Thread-1", "execution_time": 0.005968809127807617, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.pinterest_source_integration_tests.advertiser_report_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T19:28:49.107267Z", "completed_at": "2022-06-30T19:28:49.111122Z"}, {"name": "execute", "started_at": "2022-06-30T19:28:49.112024Z", "completed_at": "2022-06-30T19:28:49.112027Z"}], "thread_id": "Thread-3", "execution_time": 0.005922794342041016, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.pinterest_source_integration_tests.campaign_history_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T19:28:49.109207Z", "completed_at": "2022-06-30T19:28:49.111544Z"}, {"name": "execute", "started_at": "2022-06-30T19:28:49.112422Z", "completed_at": "2022-06-30T19:28:49.112425Z"}], "thread_id": "Thread-4", "execution_time": 0.006014108657836914, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.pinterest_source_integration_tests.campaign_report_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T19:28:49.113865Z", "completed_at": "2022-06-30T19:28:49.117677Z"}, {"name": "execute", "started_at": "2022-06-30T19:28:49.119008Z", "completed_at": "2022-06-30T19:28:49.119011Z"}], "thread_id": "Thread-2", "execution_time": 0.0062580108642578125, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.pinterest_source_integration_tests.keyword_history_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T19:28:49.113942Z", "completed_at": "2022-06-30T19:28:49.117747Z"}, {"name": "execute", "started_at": "2022-06-30T19:28:49.119073Z", "completed_at": "2022-06-30T19:28:49.119076Z"}], "thread_id": "Thread-1", "execution_time": 0.006284952163696289, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.pinterest_source_integration_tests.keyword_report_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T19:28:49.114078Z", "completed_at": "2022-06-30T19:28:49.118650Z"}, {"name": "execute", "started_at": "2022-06-30T19:28:49.119199Z", "completed_at": "2022-06-30T19:28:49.119202Z"}], "thread_id": "Thread-3", "execution_time": 0.006290912628173828, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.pinterest_source_integration_tests.pin_promotion_history_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T19:28:49.116798Z", "completed_at": "2022-06-30T19:28:49.118873Z"}, {"name": "execute", "started_at": "2022-06-30T19:28:49.119573Z", "completed_at": "2022-06-30T19:28:49.119576Z"}], "thread_id": "Thread-4", "execution_time": 0.006367921829223633, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.pinterest_source_integration_tests.pin_promotion_report_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T19:28:49.121098Z", "completed_at": "2022-06-30T19:28:49.437254Z"}, {"name": "execute", "started_at": "2022-06-30T19:28:49.437575Z", "completed_at": "2022-06-30T19:28:49.437581Z"}], "thread_id": "Thread-2", "execution_time": 0.34340786933898926, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__ad_group_history"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T19:28:49.121330Z", "completed_at": "2022-06-30T19:28:49.441389Z"}, {"name": "execute", "started_at": "2022-06-30T19:28:49.441524Z", "completed_at": "2022-06-30T19:28:49.441526Z"}], "thread_id": "Thread-3", "execution_time": 0.3477151393890381, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__ad_group_report"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T19:28:49.130790Z", "completed_at": "2022-06-30T19:28:49.439966Z"}, {"name": "execute", "started_at": "2022-06-30T19:28:49.440692Z", "completed_at": "2022-06-30T19:28:49.440696Z"}], "thread_id": "Thread-4", "execution_time": 0.3520638942718506, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__advertiser_report"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T19:28:49.121164Z", "completed_at": "2022-06-30T19:28:49.673725Z"}, {"name": "execute", "started_at": "2022-06-30T19:28:49.673876Z", "completed_at": "2022-06-30T19:28:49.673883Z"}], "thread_id": "Thread-1", "execution_time": 0.579716682434082, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__advertiser_history"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T19:28:49.468837Z", "completed_at": "2022-06-30T19:28:49.738778Z"}, {"name": "execute", "started_at": "2022-06-30T19:28:49.738927Z", "completed_at": "2022-06-30T19:28:49.738934Z"}], "thread_id": "Thread-3", "execution_time": 0.2997407913208008, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__campaign_report"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T19:28:49.464283Z", "completed_at": "2022-06-30T19:28:49.753381Z"}, {"name": "execute", "started_at": "2022-06-30T19:28:49.753527Z", "completed_at": "2022-06-30T19:28:49.753531Z"}], "thread_id": "Thread-2", "execution_time": 0.3211791515350342, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__campaign_history"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T19:28:49.473546Z", "completed_at": "2022-06-30T19:28:49.776443Z"}, {"name": "execute", "started_at": "2022-06-30T19:28:49.776590Z", "completed_at": "2022-06-30T19:28:49.776595Z"}], "thread_id": "Thread-4", "execution_time": 0.3262929916381836, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__keyword_history"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T19:28:49.799998Z", "completed_at": "2022-06-30T19:28:49.807893Z"}, {"name": "execute", "started_at": "2022-06-30T19:28:49.808109Z", "completed_at": "2022-06-30T19:28:49.808115Z"}], "thread_id": "Thread-4", "execution_time": 0.008539915084838867, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_history_ad_group_id___fivetran_synced.1132e1f339"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T19:28:49.808716Z", "completed_at": "2022-06-30T19:28:49.811850Z"}, {"name": "execute", "started_at": "2022-06-30T19:28:49.811994Z", "completed_at": "2022-06-30T19:28:49.811999Z"}], "thread_id": "Thread-4", "execution_time": 0.0036270618438720703, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_report_date_day__ad_group_id.959c0f8422"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T19:28:49.812524Z", "completed_at": "2022-06-30T19:28:49.815240Z"}, {"name": "execute", "started_at": "2022-06-30T19:28:49.815378Z", "completed_at": "2022-06-30T19:28:49.815382Z"}], "thread_id": "Thread-4", "execution_time": 0.003173828125, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_report_date_day__advertiser_id.e92ce8a9c0"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T19:28:49.815879Z", "completed_at": "2022-06-30T19:28:49.819198Z"}, {"name": "execute", "started_at": "2022-06-30T19:28:49.819335Z", "completed_at": "2022-06-30T19:28:49.819339Z"}], "thread_id": "Thread-4", "execution_time": 0.0037789344787597656, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_history_updated_at__advertiser_id.94e8f4de4b"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T19:28:49.819870Z", "completed_at": "2022-06-30T19:28:49.822702Z"}, {"name": "execute", "started_at": "2022-06-30T19:28:49.822847Z", "completed_at": "2022-06-30T19:28:49.822852Z"}], "thread_id": "Thread-4", "execution_time": 0.0032978057861328125, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_report_date_day__campaign_id.968175d475"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T19:28:49.823383Z", "completed_at": "2022-06-30T19:28:49.826116Z"}, {"name": "execute", "started_at": "2022-06-30T19:28:49.826261Z", "completed_at": "2022-06-30T19:28:49.826266Z"}], "thread_id": "Thread-4", "execution_time": 0.0032029151916503906, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_history_campaign_id___fivetran_synced.eff7196b87"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T19:28:49.826924Z", "completed_at": "2022-06-30T19:28:49.829741Z"}, {"name": "execute", "started_at": "2022-06-30T19:28:49.829873Z", "completed_at": "2022-06-30T19:28:49.829878Z"}], "thread_id": "Thread-4", "execution_time": 0.0033729076385498047, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_history_keyword_id___fivetran_synced.e73fb0a4db"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T19:28:49.700702Z", "completed_at": "2022-06-30T19:28:50.015311Z"}, {"name": "execute", "started_at": "2022-06-30T19:28:50.015458Z", "completed_at": "2022-06-30T19:28:50.015464Z"}], "thread_id": "Thread-1", "execution_time": 0.3415720462799072, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__keyword_report"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T19:28:50.042414Z", "completed_at": "2022-06-30T19:28:50.045772Z"}, {"name": "execute", "started_at": "2022-06-30T19:28:50.045908Z", "completed_at": "2022-06-30T19:28:50.045913Z"}], "thread_id": "Thread-4", "execution_time": 0.0038268566131591797, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_report_date_day__keyword_id.fe6a646a5a"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T19:28:49.785568Z", "completed_at": "2022-06-30T19:28:50.090036Z"}, {"name": "execute", "started_at": "2022-06-30T19:28:50.090180Z", "completed_at": "2022-06-30T19:28:50.090186Z"}], "thread_id": "Thread-2", "execution_time": 0.3387782573699951, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__pin_promotion_report"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T19:28:50.133127Z", "completed_at": "2022-06-30T19:28:50.149301Z"}, {"name": "execute", "started_at": "2022-06-30T19:28:50.149664Z", "completed_at": "2022-06-30T19:28:50.149667Z"}], "thread_id": "Thread-1", "execution_time": 0.024283885955810547, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_report_date_day__pin_promotion_id.f30a887f4d"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T19:28:49.769747Z", "completed_at": "2022-06-30T19:28:50.149149Z"}, {"name": "execute", "started_at": "2022-06-30T19:28:50.149576Z", "completed_at": "2022-06-30T19:28:50.149583Z"}], "thread_id": "Thread-3", "execution_time": 0.4112739562988281, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__pin_promotion_history"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T19:28:50.181065Z", "completed_at": "2022-06-30T19:28:50.184159Z"}, {"name": "execute", "started_at": "2022-06-30T19:28:50.184302Z", "completed_at": "2022-06-30T19:28:50.184309Z"}], "thread_id": "Thread-2", "execution_time": 0.0035772323608398438, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_history__fivetran_synced__pin_promotion_id.8e9ab31ea9"}], "elapsed_time": 1.9550960063934326, "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.0.4", "generated_at": "2022-06-30T22:37:02.001307Z", "invocation_id": "12ea8e79-f696-403e-91ac-676ccc0e54b3", "env": {}}, "results": [{"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T22:37:01.017488Z", "completed_at": "2022-06-30T22:37:01.027501Z"}, {"name": "execute", "started_at": "2022-06-30T22:37:01.028398Z", "completed_at": "2022-06-30T22:37:01.028408Z"}], "thread_id": "Thread-4", "execution_time": 0.012392282485961914, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__advertiser_report_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T22:37:01.017226Z", "completed_at": "2022-06-30T22:37:01.028129Z"}, {"name": "execute", "started_at": "2022-06-30T22:37:01.029118Z", "completed_at": "2022-06-30T22:37:01.029123Z"}], "thread_id": "Thread-3", "execution_time": 0.013352394104003906, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__advertiser_history_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T22:37:01.017633Z", "completed_at": "2022-06-30T22:37:01.027674Z"}, {"name": "execute", "started_at": "2022-06-30T22:37:01.028703Z", "completed_at": "2022-06-30T22:37:01.028713Z"}], "thread_id": "Thread-2", "execution_time": 0.013897895812988281, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__ad_group_report_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T22:37:01.017852Z", "completed_at": "2022-06-30T22:37:01.028584Z"}, {"name": "execute", "started_at": "2022-06-30T22:37:01.029411Z", "completed_at": "2022-06-30T22:37:01.029417Z"}], "thread_id": "Thread-1", "execution_time": 0.01456594467163086, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__ad_group_history_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T22:37:01.032009Z", "completed_at": "2022-06-30T22:37:01.039236Z"}, {"name": "execute", "started_at": "2022-06-30T22:37:01.041706Z", "completed_at": "2022-06-30T22:37:01.041714Z"}], "thread_id": "Thread-4", "execution_time": 0.011661052703857422, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__campaign_history_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T22:37:01.032166Z", "completed_at": "2022-06-30T22:37:01.041210Z"}, {"name": "execute", "started_at": "2022-06-30T22:37:01.041821Z", "completed_at": "2022-06-30T22:37:01.041828Z"}], "thread_id": "Thread-2", "execution_time": 0.011446714401245117, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__keyword_history_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T22:37:01.034390Z", "completed_at": "2022-06-30T22:37:01.042958Z"}, {"name": "execute", "started_at": "2022-06-30T22:37:01.044588Z", "completed_at": "2022-06-30T22:37:01.044595Z"}], "thread_id": "Thread-3", "execution_time": 0.013447046279907227, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__campaign_report_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T22:37:01.039063Z", "completed_at": "2022-06-30T22:37:01.043056Z"}, {"name": "execute", "started_at": "2022-06-30T22:37:01.044678Z", "completed_at": "2022-06-30T22:37:01.044682Z"}], "thread_id": "Thread-1", "execution_time": 0.01288294792175293, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__keyword_report_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T22:37:01.044822Z", "completed_at": "2022-06-30T22:37:01.050614Z"}, {"name": "execute", "started_at": "2022-06-30T22:37:01.052491Z", "completed_at": "2022-06-30T22:37:01.052499Z"}], "thread_id": "Thread-4", "execution_time": 0.010336875915527344, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__pin_promotion_history_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T22:37:01.045202Z", "completed_at": "2022-06-30T22:37:01.050862Z"}, {"name": "execute", "started_at": "2022-06-30T22:37:01.053775Z", "completed_at": "2022-06-30T22:37:01.053783Z"}], "thread_id": "Thread-2", "execution_time": 0.009990930557250977, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__pin_promotion_report_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T22:37:01.050802Z", "completed_at": "2022-06-30T22:37:01.053680Z"}, {"name": "execute", "started_at": "2022-06-30T22:37:01.054624Z", "completed_at": "2022-06-30T22:37:01.054628Z"}], "thread_id": "Thread-3", "execution_time": 0.005068063735961914, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.pinterest_source_integration_tests.ad_group_history_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T22:37:01.051017Z", "completed_at": "2022-06-30T22:37:01.054065Z"}, {"name": "execute", "started_at": "2022-06-30T22:37:01.054964Z", "completed_at": "2022-06-30T22:37:01.054968Z"}], "thread_id": "Thread-1", "execution_time": 0.005112886428833008, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.pinterest_source_integration_tests.ad_group_report_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T22:37:01.055691Z", "completed_at": "2022-06-30T22:37:01.059012Z"}, {"name": "execute", "started_at": "2022-06-30T22:37:01.060401Z", "completed_at": "2022-06-30T22:37:01.060407Z"}], "thread_id": "Thread-4", "execution_time": 0.006963014602661133, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.pinterest_source_integration_tests.advertiser_history_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T22:37:01.055989Z", "completed_at": "2022-06-30T22:37:01.059225Z"}, {"name": "execute", "started_at": "2022-06-30T22:37:01.061594Z", "completed_at": "2022-06-30T22:37:01.061600Z"}], "thread_id": "Thread-2", "execution_time": 0.006934642791748047, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.pinterest_source_integration_tests.advertiser_report_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T22:37:01.059162Z", "completed_at": "2022-06-30T22:37:01.061491Z"}, {"name": "execute", "started_at": "2022-06-30T22:37:01.062426Z", "completed_at": "2022-06-30T22:37:01.062429Z"}], "thread_id": "Thread-3", "execution_time": 0.0070002079010009766, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.pinterest_source_integration_tests.campaign_history_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T22:37:01.059379Z", "completed_at": "2022-06-30T22:37:01.061902Z"}, {"name": "execute", "started_at": "2022-06-30T22:37:01.062741Z", "completed_at": "2022-06-30T22:37:01.062745Z"}], "thread_id": "Thread-1", "execution_time": 0.005270957946777344, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.pinterest_source_integration_tests.campaign_report_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T22:37:01.063461Z", "completed_at": "2022-06-30T22:37:01.066069Z"}, {"name": "execute", "started_at": "2022-06-30T22:37:01.067452Z", "completed_at": "2022-06-30T22:37:01.067458Z"}], "thread_id": "Thread-4", "execution_time": 0.006970882415771484, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.pinterest_source_integration_tests.keyword_history_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T22:37:01.063770Z", "completed_at": "2022-06-30T22:37:01.066282Z"}, {"name": "execute", "started_at": "2022-06-30T22:37:01.069385Z", "completed_at": "2022-06-30T22:37:01.069390Z"}], "thread_id": "Thread-2", "execution_time": 0.0069942474365234375, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.pinterest_source_integration_tests.keyword_report_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T22:37:01.066211Z", "completed_at": "2022-06-30T22:37:01.069294Z"}, {"name": "execute", "started_at": "2022-06-30T22:37:01.070308Z", "completed_at": "2022-06-30T22:37:01.070312Z"}], "thread_id": "Thread-3", "execution_time": 0.00714111328125, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.pinterest_source_integration_tests.pin_promotion_history_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T22:37:01.066416Z", "completed_at": "2022-06-30T22:37:01.069677Z"}, {"name": "execute", "started_at": "2022-06-30T22:37:01.070652Z", "completed_at": "2022-06-30T22:37:01.070656Z"}], "thread_id": "Thread-1", "execution_time": 0.0062100887298583984, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.pinterest_source_integration_tests.pin_promotion_report_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T22:37:01.071382Z", "completed_at": "2022-06-30T22:37:01.344666Z"}, {"name": "execute", "started_at": "2022-06-30T22:37:01.344813Z", "completed_at": "2022-06-30T22:37:01.344819Z"}], "thread_id": "Thread-4", "execution_time": 0.2986290454864502, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__advertiser_report"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T22:37:01.081196Z", "completed_at": "2022-06-30T22:37:01.367745Z"}, {"name": "execute", "started_at": "2022-06-30T22:37:01.368073Z", "completed_at": "2022-06-30T22:37:01.368078Z"}], "thread_id": "Thread-1", "execution_time": 0.31636619567871094, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__ad_group_history"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T22:37:01.081004Z", "completed_at": "2022-06-30T22:37:01.376621Z"}, {"name": "execute", "started_at": "2022-06-30T22:37:01.376753Z", "completed_at": "2022-06-30T22:37:01.376757Z"}], "thread_id": "Thread-3", "execution_time": 0.3319869041442871, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__ad_group_report"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T22:37:01.071667Z", "completed_at": "2022-06-30T22:37:01.375259Z"}, {"name": "execute", "started_at": "2022-06-30T22:37:01.375981Z", "completed_at": "2022-06-30T22:37:01.375986Z"}], "thread_id": "Thread-2", "execution_time": 0.3328099250793457, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__advertiser_history"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T22:37:01.370049Z", "completed_at": "2022-06-30T22:37:01.632965Z"}, {"name": "execute", "started_at": "2022-06-30T22:37:01.633123Z", "completed_at": "2022-06-30T22:37:01.633131Z"}], "thread_id": "Thread-4", "execution_time": 0.2923579216003418, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__campaign_history"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T22:37:01.394424Z", "completed_at": "2022-06-30T22:37:01.646104Z"}, {"name": "execute", "started_at": "2022-06-30T22:37:01.646243Z", "completed_at": "2022-06-30T22:37:01.646247Z"}], "thread_id": "Thread-1", "execution_time": 0.2784140110015869, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__keyword_history"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T22:37:01.404500Z", "completed_at": "2022-06-30T22:37:01.672770Z"}, {"name": "execute", "started_at": "2022-06-30T22:37:01.674372Z", "completed_at": "2022-06-30T22:37:01.674377Z"}], "thread_id": "Thread-3", "execution_time": 0.2951352596282959, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__campaign_report"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T22:37:01.404574Z", "completed_at": "2022-06-30T22:37:01.678604Z"}, {"name": "execute", "started_at": "2022-06-30T22:37:01.679007Z", "completed_at": "2022-06-30T22:37:01.679012Z"}], "thread_id": "Thread-2", "execution_time": 0.30315685272216797, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__keyword_report"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T22:37:01.699793Z", "completed_at": "2022-06-30T22:37:01.707748Z"}, {"name": "execute", "started_at": "2022-06-30T22:37:01.708117Z", "completed_at": "2022-06-30T22:37:01.708121Z"}], "thread_id": "Thread-3", "execution_time": 0.01201009750366211, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_report_date_day__advertiser_id.e92ce8a9c0"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T22:37:01.708046Z", "completed_at": "2022-06-30T22:37:01.711907Z"}, {"name": "execute", "started_at": "2022-06-30T22:37:01.714065Z", "completed_at": "2022-06-30T22:37:01.714069Z"}], "thread_id": "Thread-2", "execution_time": 0.006640911102294922, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_report_advertiser_id.1b16ed73ff"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T22:37:01.711984Z", "completed_at": "2022-06-30T22:37:01.714543Z"}, {"name": "execute", "started_at": "2022-06-30T22:37:01.714813Z", "completed_at": "2022-06-30T22:37:01.714817Z"}], "thread_id": "Thread-3", "execution_time": 0.0055768489837646484, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_report_date_day.153bd03c95"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T22:37:01.714748Z", "completed_at": "2022-06-30T22:37:01.717723Z"}, {"name": "execute", "started_at": "2022-06-30T22:37:01.720392Z", "completed_at": "2022-06-30T22:37:01.720396Z"}], "thread_id": "Thread-2", "execution_time": 0.006125211715698242, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_history_ad_group_id___fivetran_synced.1132e1f339"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T22:37:01.717791Z", "completed_at": "2022-06-30T22:37:01.720884Z"}, {"name": "execute", "started_at": "2022-06-30T22:37:01.721165Z", "completed_at": "2022-06-30T22:37:01.721168Z"}], "thread_id": "Thread-3", "execution_time": 0.006006002426147461, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_history_ad_group_id.220c6220be"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T22:37:01.721102Z", "completed_at": "2022-06-30T22:37:01.723924Z"}, {"name": "execute", "started_at": "2022-06-30T22:37:01.724192Z", "completed_at": "2022-06-30T22:37:01.724196Z"}], "thread_id": "Thread-2", "execution_time": 0.0058901309967041016, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_report_date_day__ad_group_id.959c0f8422"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T22:37:01.724129Z", "completed_at": "2022-06-30T22:37:01.727107Z"}, {"name": "execute", "started_at": "2022-06-30T22:37:01.729203Z", "completed_at": "2022-06-30T22:37:01.729207Z"}], "thread_id": "Thread-3", "execution_time": 0.005558013916015625, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_history_updated_at__advertiser_id.94e8f4de4b"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T22:37:01.727175Z", "completed_at": "2022-06-30T22:37:01.729549Z"}, {"name": "execute", "started_at": "2022-06-30T22:37:01.729879Z", "completed_at": "2022-06-30T22:37:01.729882Z"}], "thread_id": "Thread-2", "execution_time": 0.0031299591064453125, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_report_ad_group_id.bb8cf3c471"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T22:37:01.729948Z", "completed_at": "2022-06-30T22:37:01.732398Z"}, {"name": "execute", "started_at": "2022-06-30T22:37:01.734447Z", "completed_at": "2022-06-30T22:37:01.734452Z"}], "thread_id": "Thread-3", "execution_time": 0.004980802536010742, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_report_date_day.80e8904c4c"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T22:37:01.732352Z", "completed_at": "2022-06-30T22:37:01.734760Z"}, {"name": "execute", "started_at": "2022-06-30T22:37:01.735112Z", "completed_at": "2022-06-30T22:37:01.735115Z"}], "thread_id": "Thread-2", "execution_time": 0.0031461715698242188, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_history_advertiser_id.7d24f665fb"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T22:37:01.735182Z", "completed_at": "2022-06-30T22:37:01.763860Z"}, {"name": "execute", "started_at": "2022-06-30T22:37:01.764071Z", "completed_at": "2022-06-30T22:37:01.764076Z"}], "thread_id": "Thread-3", "execution_time": 0.02936697006225586, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_history_campaign_id___fivetran_synced.eff7196b87"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T22:37:01.761724Z", "completed_at": "2022-06-30T22:37:01.764383Z"}, {"name": "execute", "started_at": "2022-06-30T22:37:01.764698Z", "completed_at": "2022-06-30T22:37:01.764701Z"}], "thread_id": "Thread-2", "execution_time": 0.003426790237426758, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__campaign_history_campaign_id.60cb10d341"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T22:37:01.764763Z", "completed_at": "2022-06-30T22:37:01.767729Z"}, {"name": "execute", "started_at": "2022-06-30T22:37:01.769806Z", "completed_at": "2022-06-30T22:37:01.769811Z"}], "thread_id": "Thread-3", "execution_time": 0.005486249923706055, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_history_keyword_id___fivetran_synced.e73fb0a4db"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T22:37:01.767683Z", "completed_at": "2022-06-30T22:37:01.770111Z"}, {"name": "execute", "started_at": "2022-06-30T22:37:01.770431Z", "completed_at": "2022-06-30T22:37:01.770434Z"}], "thread_id": "Thread-2", "execution_time": 0.0031380653381347656, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__keyword_history_keyword_id.246889377a"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T22:37:01.770501Z", "completed_at": "2022-06-30T22:37:01.773377Z"}, {"name": "execute", "started_at": "2022-06-30T22:37:01.775381Z", "completed_at": "2022-06-30T22:37:01.775385Z"}], "thread_id": "Thread-3", "execution_time": 0.005347728729248047, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_report_date_day__campaign_id.968175d475"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T22:37:01.773332Z", "completed_at": "2022-06-30T22:37:01.775609Z"}, {"name": "execute", "started_at": "2022-06-30T22:37:01.775951Z", "completed_at": "2022-06-30T22:37:01.775955Z"}], "thread_id": "Thread-2", "execution_time": 0.003004789352416992, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__campaign_report_campaign_id.a287eba0fc"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T22:37:01.776214Z", "completed_at": "2022-06-30T22:37:01.781558Z"}, {"name": "execute", "started_at": "2022-06-30T22:37:01.781728Z", "completed_at": "2022-06-30T22:37:01.781732Z"}], "thread_id": "Thread-3", "execution_time": 0.006029844284057617, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__campaign_report_date_day.7ef5fb1238"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T22:37:01.779194Z", "completed_at": "2022-06-30T22:37:01.781926Z"}, {"name": "execute", "started_at": "2022-06-30T22:37:01.782274Z", "completed_at": "2022-06-30T22:37:01.782277Z"}], "thread_id": "Thread-2", "execution_time": 0.003492116928100586, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_report_date_day__keyword_id.fe6a646a5a"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T22:37:01.782527Z", "completed_at": "2022-06-30T22:37:01.784757Z"}, {"name": "execute", "started_at": "2022-06-30T22:37:01.786765Z", "completed_at": "2022-06-30T22:37:01.786769Z"}], "thread_id": "Thread-3", "execution_time": 0.004743814468383789, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__keyword_report_date_day.9937216300"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T22:37:01.784703Z", "completed_at": "2022-06-30T22:37:01.786994Z"}, {"name": "execute", "started_at": "2022-06-30T22:37:01.787154Z", "completed_at": "2022-06-30T22:37:01.787158Z"}], "thread_id": "Thread-2", "execution_time": 0.0027992725372314453, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__keyword_report_keyword_id.5f00679c48"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T22:37:01.662660Z", "completed_at": "2022-06-30T22:37:01.957746Z"}, {"name": "execute", "started_at": "2022-06-30T22:37:01.957879Z", "completed_at": "2022-06-30T22:37:01.957883Z"}], "thread_id": "Thread-4", "execution_time": 0.3218350410461426, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__pin_promotion_history"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T22:37:01.674804Z", "completed_at": "2022-06-30T22:37:01.950150Z"}, {"name": "execute", "started_at": "2022-06-30T22:37:01.957336Z", "completed_at": "2022-06-30T22:37:01.957343Z"}], "thread_id": "Thread-1", "execution_time": 0.3104519844055176, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__pin_promotion_report"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T22:37:01.985813Z", "completed_at": "2022-06-30T22:37:01.996114Z"}, {"name": "execute", "started_at": "2022-06-30T22:37:01.996564Z", "completed_at": "2022-06-30T22:37:01.996570Z"}], "thread_id": "Thread-3", "execution_time": 0.011971712112426758, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_history__fivetran_synced__pin_promotion_id.8e9ab31ea9"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T22:37:01.985951Z", "completed_at": "2022-06-30T22:37:01.996223Z"}, {"name": "execute", "started_at": "2022-06-30T22:37:01.996724Z", "completed_at": "2022-06-30T22:37:01.996728Z"}], "thread_id": "Thread-2", "execution_time": 0.011963844299316406, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_report_date_day__pin_promotion_id.f30a887f4d"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T22:37:01.986013Z", "completed_at": "2022-06-30T22:37:01.996347Z"}, {"name": "execute", "started_at": "2022-06-30T22:37:01.997024Z", "completed_at": "2022-06-30T22:37:01.997026Z"}], "thread_id": "Thread-4", "execution_time": 0.012164831161499023, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_history_pin_promotion_id.171995cd34"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T22:37:01.989358Z", "completed_at": "2022-06-30T22:37:01.996488Z"}, {"name": "execute", "started_at": "2022-06-30T22:37:01.997247Z", "completed_at": "2022-06-30T22:37:01.997251Z"}], "thread_id": "Thread-1", "execution_time": 0.012139081954956055, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_report_date_day.ed272212a1"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T22:37:01.998061Z", "completed_at": "2022-06-30T22:37:02.000311Z"}, {"name": "execute", "started_at": "2022-06-30T22:37:02.000454Z", "completed_at": "2022-06-30T22:37:02.000458Z"}], "thread_id": "Thread-3", "execution_time": 0.002805948257446289, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_report_pin_promotion_id.9c3c9f71ab"}], "elapsed_time": 1.7644829750061035, "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 diff --git a/integration_tests/seeds/campaign_history_data.csv b/integration_tests/seeds/campaign_history_data.csv index d51b4bc..59464e8 100644 --- a/integration_tests/seeds/campaign_history_data.csv +++ b/integration_tests/seeds/campaign_history_data.csv @@ -1,2 +1,2 @@ -id,created_time,name,status,_fivetran_synced -626741793779,2020-03-26 08:59:57.000 +0000,19e757f946601de26307d8182635b716,ACTIVE,2020-07-30 12:14:00.362 +0000 \ No newline at end of file +id,created_time,name,status,_fivetran_synced,advertiser_id +626741793779,2020-03-26 08:59:57.000 +0000,19e757f946601de26307d8182635b716,ACTIVE,2020-07-30 12:14:00.362 +0000,151515151 \ No newline at end of file diff --git a/macros/get_campaign_history_columns.sql b/macros/get_campaign_history_columns.sql index 4befe43..acdea8d 100644 --- a/macros/get_campaign_history_columns.sql +++ b/macros/get_campaign_history_columns.sql @@ -4,6 +4,7 @@ {"name": "_fivetran_synced", "datatype": dbt_utils.type_timestamp()}, {"name": "created_time", "datatype": dbt_utils.type_timestamp()}, {"name": "id", "datatype": dbt_utils.type_string()}, + {"name": "advertiser_id", "datatype": dbt_utils.type_string()}, {"name": "name", "datatype": dbt_utils.type_string()}, {"name": "status", "datatype": dbt_utils.type_string()} ] %} diff --git a/models/stg_pinterest_ads.yml b/models/stg_pinterest_ads.yml index 8b5c4f9..92ec6a7 100644 --- a/models/stg_pinterest_ads.yml +++ b/models/stg_pinterest_ads.yml @@ -11,6 +11,8 @@ models: columns: - name: ad_group_id description: Ad group ID. + tests: + - not_null - name: campaign_id description: Parent Campaign ID. - name: created_at @@ -37,9 +39,13 @@ models: - _fivetran_synced columns: - name: campaign_id - description: Campaign ID. + description: "{{ doc('campaign_id') }}" + tests: + - not_null - name: created_at description: Campaign creation time. + - name: advertiser_id + description: "{{ doc('advertiser_id') }}" - name: campaign_name description: Campaign name. - name: campaign_status @@ -59,17 +65,19 @@ models: columns: - name: pin_promotion_id description: Pin promotion ID. + tests: + - not_null - name: ad_group_id description: Pin promotion ad group ID. - name: created_at description: Pin creation time. - name: destination_url description: Pin destination URL. - - name: name + - name: pin_name description: Pin promotion name. - name: pin_id description: Original pin ID. - - name: status + - name: pin_status description: The status of the Pin promotion. One of "ACTIVE", "ARCHIVED", "PAUSED" - name: creative_type description: | @@ -107,8 +115,12 @@ models: columns: - name: date_day description: "{{ doc('date_day') }}" + tests: + - not_null - name: pin_promotion_id description: "{{ doc('pin_promotion_id') }}" + tests: + - not_null - name: ad_group_id description: "{{ doc('ad_group_id') }}" - name: campaign_id @@ -134,8 +146,12 @@ models: columns: - name: date_day description: "{{ doc('date_day') }}" + tests: + - not_null - name: ad_group_id description: "{{ doc('ad_group_id') }}" + tests: + - not_null - name: ad_group_name description: Name of the ad group. - name: ad_group_status @@ -163,6 +179,8 @@ models: columns: - name: advertiser_id description: "{{ doc('advertiser_id') }}" + tests: + - not_null - name: advertiser_name description: Name of the advertiser. - name: advertiser_status @@ -175,7 +193,7 @@ models: description: The country code where the advertiser is located. - name: created_at description: "{{ doc('created_at') }}" - - name: currency + - name: currency_code description: The currency code which the a - name: merchant_id description: Unique ID of the merchant associated with the advertiser. @@ -198,8 +216,12 @@ models: columns: - name: date_day description: "{{ doc('date_day') }}" + tests: + - not_null - name: advertiser_id description: "{{ doc('advertiser_id') }}" + tests: + - not_null - name: _fivetran_synced description: "{{ doc('_fivetran_synced') }}" - name: impressions @@ -219,8 +241,12 @@ models: columns: - name: date_day description: "{{ doc('date_day') }}" + tests: + - not_null - name: campaign_id description: "{{ doc('campaign_id') }}" + tests: + - not_null - name: campaign_name description: Name of the campaign. - name: campaign_status @@ -246,6 +272,8 @@ models: columns: - name: keyword_id description: Unique identifier of the keyword. + tests: + - not_null - name: keyword_value description: The text value that makes upd the keyword. - name: _fivetran_id @@ -279,8 +307,12 @@ models: columns: - name: date_day description: "{{ doc('date_day') }}" + tests: + - not_null - name: keyword_id description: Unique identifier of the keyword. + tests: + - not_null - name: pin_promotion_id description: "{{ doc('pin_promotion_id') }}" - name: ad_group_id diff --git a/models/stg_pinterest_ads__advertiser_history.sql b/models/stg_pinterest_ads__advertiser_history.sql index d9f4120..1bc38e1 100644 --- a/models/stg_pinterest_ads__advertiser_history.sql +++ b/models/stg_pinterest_ads__advertiser_history.sql @@ -27,7 +27,7 @@ final as ( billing_type, country, created_time as created_at, - currency, + currency as currency_code, merchant_id, owner_user_id, updated_time as updated_at, diff --git a/models/stg_pinterest_ads__campaign_history.sql b/models/stg_pinterest_ads__campaign_history.sql index e9e10fa..4258874 100644 --- a/models/stg_pinterest_ads__campaign_history.sql +++ b/models/stg_pinterest_ads__campaign_history.sql @@ -21,6 +21,7 @@ final as ( select id as campaign_id, name as campaign_name, + advertiser_id, status as campaign_status, _fivetran_synced, created_time as created_at diff --git a/models/stg_pinterest_ads__pin_promotion_history.sql b/models/stg_pinterest_ads__pin_promotion_history.sql index efd3d9e..1746d56 100644 --- a/models/stg_pinterest_ads__pin_promotion_history.sql +++ b/models/stg_pinterest_ads__pin_promotion_history.sql @@ -32,9 +32,9 @@ final as ( {{ dbt_utils.get_url_parameter('destination_url', 'utm_campaign') }} as utm_campaign, {{ dbt_utils.get_url_parameter('destination_url', 'utm_content') }} as utm_content, {{ dbt_utils.get_url_parameter('destination_url', 'utm_term') }} as utm_term, - name, + name as pin_name, pin_id, - status, + status as pin_status, creative_type, _fivetran_synced from fields From 2f121f684c235f48e5e98789d615c89378281273 Mon Sep 17 00:00:00 2001 From: fivetran-joemarkiewicz Date: Tue, 5 Jul 2022 11:06:28 -0500 Subject: [PATCH 05/15] moving postgres back temporarily --- .circleci/config.yml | 22 +++++++++++----------- models/stg_pinterest_ads.yml | 3 ++- 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 401628d..f0695a8 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -22,16 +22,6 @@ jobs: 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 - Spark" command: | @@ -74,4 +64,14 @@ jobs: dbt deps dbt seed --target bigquery --full-refresh dbt run --target bigquery --full-refresh - dbt test --target bigquery \ No newline at end of file + dbt test --target bigquery + - 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 \ No newline at end of file diff --git a/models/stg_pinterest_ads.yml b/models/stg_pinterest_ads.yml index 92ec6a7..5f6bb3d 100644 --- a/models/stg_pinterest_ads.yml +++ b/models/stg_pinterest_ads.yml @@ -194,7 +194,7 @@ models: - name: created_at description: "{{ doc('created_at') }}" - name: currency_code - description: The currency code which the a + description: The currency code which the advertiser is set up using. - name: merchant_id description: Unique ID of the merchant associated with the advertiser. - name: owner_user_id @@ -268,6 +268,7 @@ models: - dbt_utils.unique_combination_of_columns: combination_of_columns: - keyword_id + - ad_group_id - _fivetran_synced columns: - name: keyword_id From 88bc4164cd5d4f60a24b7e1d3d243a7e5b23b5e4 Mon Sep 17 00:00:00 2001 From: fivetran-joemarkiewicz Date: Wed, 6 Jul 2022 15:41:50 -0500 Subject: [PATCH 06/15] move postgres to first step in ci --- .circleci/config.yml | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index f0695a8..401628d 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -22,6 +22,16 @@ jobs: 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 - Spark" command: | @@ -64,14 +74,4 @@ jobs: dbt deps dbt seed --target bigquery --full-refresh dbt run --target bigquery --full-refresh - dbt test --target bigquery - - 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 \ No newline at end of file + dbt test --target bigquery \ No newline at end of file From 0f1c7281e967a619d96c6b60c7c55b37d1edf9b4 Mon Sep 17 00:00:00 2001 From: fivetran-joemarkiewicz Date: Wed, 20 Jul 2022 10:54:04 -0500 Subject: [PATCH 07/15] address sheri review notes --- docs/catalog.json | 2 +- docs/manifest.json | 2 +- docs/run_results.json | 2 +- models/docs.md | 4 +-- models/src_pinterest_ads.yml | 12 ++++---- models/stg_pinterest_ads.yml | 28 ++++++++----------- models/stg_pinterest_ads__ad_group_report.sql | 1 - .../stg_pinterest_ads__advertiser_history.sql | 3 +- .../stg_pinterest_ads__advertiser_report.sql | 1 - models/stg_pinterest_ads__campaign_report.sql | 1 - models/stg_pinterest_ads__keyword_report.sql | 1 - ...tg_pinterest_ads__pin_promotion_report.sql | 1 - 12 files changed, 24 insertions(+), 34 deletions(-) diff --git a/docs/catalog.json b/docs/catalog.json index 73288e2..e640d11 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-06-30T22:37:02.370059Z", "invocation_id": "12ea8e79-f696-403e-91ac-676ccc0e54b3", "env": {}}, "nodes": {"seed.pinterest_source_integration_tests.ad_group_history_data": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "ad_group_history_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "campaign_id": {"type": "bigint", "index": 2, "name": "campaign_id", "comment": null}, "created_time": {"type": "text", "index": 3, "name": "created_time", "comment": null}, "name": {"type": "text", "index": 4, "name": "name", "comment": null}, "status": {"type": "text", "index": 5, "name": "status", "comment": null}, "start_time": {"type": "text", "index": 6, "name": "start_time", "comment": null}, "end_time": {"type": "integer", "index": 7, "name": "end_time", "comment": null}, "_fivetran_synced": {"type": "text", "index": 8, "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.pinterest_source_integration_tests.ad_group_history_data"}, "seed.pinterest_source_integration_tests.ad_group_report_data": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "ad_group_report_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"ad_group_id": {"type": "bigint", "index": 1, "name": "ad_group_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 2, "name": "advertiser_id", "comment": null}, "date": {"type": "timestamp without time zone", "index": 3, "name": "date", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 4, "name": "_fivetran_synced", "comment": null}, "ad_group_name": {"type": "text", "index": 5, "name": "ad_group_name", "comment": null}, "ad_group_status": {"type": "text", "index": 6, "name": "ad_group_status", "comment": null}, "campaign_daily_spend_cap": {"type": "integer", "index": 7, "name": "campaign_daily_spend_cap", "comment": null}, "campaign_id": {"type": "bigint", "index": 8, "name": "campaign_id", "comment": null}, "campaign_lifetime_spend_cap": {"type": "integer", "index": 9, "name": "campaign_lifetime_spend_cap", "comment": null}, "campaign_name": {"type": "text", "index": 10, "name": "campaign_name", "comment": null}, "campaign_status": {"type": "text", "index": 11, "name": "campaign_status", "comment": null}, "clickthrough_1": {"type": "integer", "index": 12, "name": "clickthrough_1", "comment": null}, "clickthrough_1_gross": {"type": "integer", "index": 13, "name": "clickthrough_1_gross", "comment": null}, "cpc_in_micro_dollar": {"type": "double precision", "index": 14, "name": "cpc_in_micro_dollar", "comment": null}, "cpm_in_micro_dollar": {"type": "double precision", "index": 15, "name": "cpm_in_micro_dollar", "comment": null}, "ctr": {"type": "double precision", "index": 16, "name": "ctr", "comment": null}, "ecpc_in_micro_dollar": {"type": "double precision", "index": 17, "name": "ecpc_in_micro_dollar", "comment": null}, "ecpm_in_micro_dollar": {"type": "double precision", "index": 18, "name": "ecpm_in_micro_dollar", "comment": null}, "ectr": {"type": "double precision", "index": 19, "name": "ectr", "comment": null}, "engagement_1": {"type": "integer", "index": 20, "name": "engagement_1", "comment": null}, "impression_1": {"type": "integer", "index": 21, "name": "impression_1", "comment": null}, "impression_1_gross": {"type": "integer", "index": 22, "name": "impression_1_gross", "comment": null}, "outbound_click_1": {"type": "integer", "index": 23, "name": "outbound_click_1", "comment": null}, "paid_impression": {"type": "integer", "index": 24, "name": "paid_impression", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 25, "name": "spend_in_micro_dollar", "comment": null}, "total_engagement": {"type": "integer", "index": 26, "name": "total_engagement", "comment": null}, "total_impression_frequency": {"type": "double precision", "index": 27, "name": "total_impression_frequency", "comment": null}, "total_impression_user": {"type": "integer", "index": 28, "name": "total_impression_user", "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.pinterest_source_integration_tests.ad_group_report_data"}, "seed.pinterest_source_integration_tests.advertiser_history_data": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "advertiser_history_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "updated_time": {"type": "timestamp without time zone", "index": 2, "name": "updated_time", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "billing_profile_status": {"type": "text", "index": 4, "name": "billing_profile_status", "comment": null}, "billing_type": {"type": "text", "index": 5, "name": "billing_type", "comment": null}, "country": {"type": "text", "index": 6, "name": "country", "comment": null}, "created_time": {"type": "timestamp without time zone", "index": 7, "name": "created_time", "comment": null}, "currency": {"type": "text", "index": 8, "name": "currency", "comment": null}, "merchant_id": {"type": "integer", "index": 9, "name": "merchant_id", "comment": null}, "name": {"type": "text", "index": 10, "name": "name", "comment": null}, "owner_user_id": {"type": "integer", "index": 11, "name": "owner_user_id", "comment": null}, "status": {"type": "text", "index": 12, "name": "status", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "seed.pinterest_source_integration_tests.advertiser_history_data"}, "seed.pinterest_source_integration_tests.advertiser_report_data": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "advertiser_report_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"advertiser_id": {"type": "bigint", "index": 1, "name": "advertiser_id", "comment": null}, "date": {"type": "timestamp without time zone", "index": 2, "name": "date", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "clickthrough_1": {"type": "integer", "index": 4, "name": "clickthrough_1", "comment": null}, "clickthrough_1_gross": {"type": "integer", "index": 5, "name": "clickthrough_1_gross", "comment": null}, "cpc_in_micro_dollar": {"type": "double precision", "index": 6, "name": "cpc_in_micro_dollar", "comment": null}, "cpm_in_micro_dollar": {"type": "double precision", "index": 7, "name": "cpm_in_micro_dollar", "comment": null}, "ctr": {"type": "double precision", "index": 8, "name": "ctr", "comment": null}, "ecpc_in_micro_dollar": {"type": "double precision", "index": 9, "name": "ecpc_in_micro_dollar", "comment": null}, "ecpm_in_micro_dollar": {"type": "double precision", "index": 10, "name": "ecpm_in_micro_dollar", "comment": null}, "ectr": {"type": "double precision", "index": 11, "name": "ectr", "comment": null}, "engagement_1": {"type": "integer", "index": 12, "name": "engagement_1", "comment": null}, "impression_1": {"type": "integer", "index": 13, "name": "impression_1", "comment": null}, "impression_1_gross": {"type": "integer", "index": 14, "name": "impression_1_gross", "comment": null}, "outbound_click_1": {"type": "integer", "index": 15, "name": "outbound_click_1", "comment": null}, "paid_impression": {"type": "integer", "index": 16, "name": "paid_impression", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 17, "name": "spend_in_micro_dollar", "comment": null}, "total_engagement": {"type": "integer", "index": 18, "name": "total_engagement", "comment": null}, "total_impression_frequency": {"type": "double precision", "index": 19, "name": "total_impression_frequency", "comment": null}, "total_impression_user": {"type": "integer", "index": 20, "name": "total_impression_user", "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.pinterest_source_integration_tests.advertiser_report_data"}, "seed.pinterest_source_integration_tests.campaign_history_data": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "campaign_history_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "created_time": {"type": "text", "index": 2, "name": "created_time", "comment": null}, "name": {"type": "text", "index": 3, "name": "name", "comment": null}, "status": {"type": "text", "index": 4, "name": "status", "comment": null}, "_fivetran_synced": {"type": "text", "index": 5, "name": "_fivetran_synced", "comment": null}, "advertiser_id": {"type": "bigint", "index": 6, "name": "advertiser_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.pinterest_source_integration_tests.campaign_history_data"}, "seed.pinterest_source_integration_tests.campaign_report_data": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "campaign_report_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"advertiser_id": {"type": "bigint", "index": 1, "name": "advertiser_id", "comment": null}, "campaign_id": {"type": "bigint", "index": 2, "name": "campaign_id", "comment": null}, "date": {"type": "timestamp without time zone", "index": 3, "name": "date", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 4, "name": "_fivetran_synced", "comment": null}, "campaign_daily_spend_cap": {"type": "integer", "index": 5, "name": "campaign_daily_spend_cap", "comment": null}, "campaign_lifetime_spend_cap": {"type": "integer", "index": 6, "name": "campaign_lifetime_spend_cap", "comment": null}, "campaign_name": {"type": "text", "index": 7, "name": "campaign_name", "comment": null}, "campaign_status": {"type": "text", "index": 8, "name": "campaign_status", "comment": null}, "clickthrough_1": {"type": "integer", "index": 9, "name": "clickthrough_1", "comment": null}, "clickthrough_1_gross": {"type": "integer", "index": 10, "name": "clickthrough_1_gross", "comment": null}, "cpc_in_micro_dollar": {"type": "double precision", "index": 11, "name": "cpc_in_micro_dollar", "comment": null}, "cpm_in_micro_dollar": {"type": "double precision", "index": 12, "name": "cpm_in_micro_dollar", "comment": null}, "ctr": {"type": "double precision", "index": 13, "name": "ctr", "comment": null}, "ecpc_in_micro_dollar": {"type": "double precision", "index": 14, "name": "ecpc_in_micro_dollar", "comment": null}, "ecpm_in_micro_dollar": {"type": "double precision", "index": 15, "name": "ecpm_in_micro_dollar", "comment": null}, "ectr": {"type": "double precision", "index": 16, "name": "ectr", "comment": null}, "engagement_1": {"type": "integer", "index": 17, "name": "engagement_1", "comment": null}, "impression_1": {"type": "integer", "index": 18, "name": "impression_1", "comment": null}, "impression_1_gross": {"type": "integer", "index": 19, "name": "impression_1_gross", "comment": null}, "outbound_click_1": {"type": "integer", "index": 20, "name": "outbound_click_1", "comment": null}, "paid_impression": {"type": "integer", "index": 21, "name": "paid_impression", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 22, "name": "spend_in_micro_dollar", "comment": null}, "total_engagement": {"type": "integer", "index": 23, "name": "total_engagement", "comment": null}, "total_impression_frequency": {"type": "double precision", "index": 24, "name": "total_impression_frequency", "comment": null}, "total_impression_user": {"type": "integer", "index": 25, "name": "total_impression_user", "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.pinterest_source_integration_tests.campaign_report_data"}, "seed.pinterest_source_integration_tests.keyword_history_data": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "keyword_history_data", "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}, "ad_group_id": {"type": "bigint", "index": 3, "name": "ad_group_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 4, "name": "advertiser_id", "comment": null}, "archived": {"type": "boolean", "index": 5, "name": "archived", "comment": null}, "bid": {"type": "integer", "index": 6, "name": "bid", "comment": null}, "campaign_id": {"type": "bigint", "index": 7, "name": "campaign_id", "comment": null}, "id": {"type": "bigint", "index": 8, "name": "id", "comment": null}, "match_type": {"type": "text", "index": 9, "name": "match_type", "comment": null}, "parent_type": {"type": "text", "index": 10, "name": "parent_type", "comment": null}, "value": {"type": "text", "index": 11, "name": "value", "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.pinterest_source_integration_tests.keyword_history_data"}, "seed.pinterest_source_integration_tests.keyword_report_data": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "keyword_report_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"ad_group_id": {"type": "bigint", "index": 1, "name": "ad_group_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 2, "name": "advertiser_id", "comment": null}, "campaign_id": {"type": "bigint", "index": 3, "name": "campaign_id", "comment": null}, "date": {"type": "timestamp without time zone", "index": 4, "name": "date", "comment": null}, "keyword_id": {"type": "bigint", "index": 5, "name": "keyword_id", "comment": null}, "pin_id": {"type": "bigint", "index": 6, "name": "pin_id", "comment": null}, "pin_promotion_id": {"type": "bigint", "index": 7, "name": "pin_promotion_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 8, "name": "_fivetran_synced", "comment": null}, "ad_group_name": {"type": "text", "index": 9, "name": "ad_group_name", "comment": null}, "ad_group_status": {"type": "text", "index": 10, "name": "ad_group_status", "comment": null}, "campaign_daily_spend_cap": {"type": "integer", "index": 11, "name": "campaign_daily_spend_cap", "comment": null}, "campaign_lifetime_spend_cap": {"type": "integer", "index": 12, "name": "campaign_lifetime_spend_cap", "comment": null}, "campaign_name": {"type": "text", "index": 13, "name": "campaign_name", "comment": null}, "campaign_status": {"type": "text", "index": 14, "name": "campaign_status", "comment": null}, "clickthrough_1": {"type": "integer", "index": 15, "name": "clickthrough_1", "comment": null}, "clickthrough_1_gross": {"type": "integer", "index": 16, "name": "clickthrough_1_gross", "comment": null}, "cpc_in_micro_dollar": {"type": "integer", "index": 17, "name": "cpc_in_micro_dollar", "comment": null}, "cpm_in_micro_dollar": {"type": "double precision", "index": 18, "name": "cpm_in_micro_dollar", "comment": null}, "ctr": {"type": "integer", "index": 19, "name": "ctr", "comment": null}, "ecpc_in_micro_dollar": {"type": "integer", "index": 20, "name": "ecpc_in_micro_dollar", "comment": null}, "ecpm_in_micro_dollar": {"type": "double precision", "index": 21, "name": "ecpm_in_micro_dollar", "comment": null}, "ectr": {"type": "integer", "index": 22, "name": "ectr", "comment": null}, "engagement_1": {"type": "integer", "index": 23, "name": "engagement_1", "comment": null}, "impression_1": {"type": "integer", "index": 24, "name": "impression_1", "comment": null}, "impression_1_gross": {"type": "integer", "index": 25, "name": "impression_1_gross", "comment": null}, "outbound_click_1": {"type": "integer", "index": 26, "name": "outbound_click_1", "comment": null}, "paid_impression": {"type": "integer", "index": 27, "name": "paid_impression", "comment": null}, "pin_promotion_name": {"type": "text", "index": 28, "name": "pin_promotion_name", "comment": null}, "pin_promotion_status": {"type": "text", "index": 29, "name": "pin_promotion_status", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 30, "name": "spend_in_micro_dollar", "comment": null}, "targeting_type": {"type": "text", "index": 31, "name": "targeting_type", "comment": null}, "targeting_value": {"type": "text", "index": 32, "name": "targeting_value", "comment": null}, "total_engagement": {"type": "integer", "index": 33, "name": "total_engagement", "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.pinterest_source_integration_tests.keyword_report_data"}, "seed.pinterest_source_integration_tests.pin_promotion_history_data": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "pin_promotion_history_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "ad_group_id": {"type": "bigint", "index": 2, "name": "ad_group_id", "comment": null}, "created_time": {"type": "text", "index": 3, "name": "created_time", "comment": null}, "destination_url": {"type": "text", "index": 4, "name": "destination_url", "comment": null}, "name": {"type": "text", "index": 5, "name": "name", "comment": null}, "pin_id": {"type": "bigint", "index": 6, "name": "pin_id", "comment": null}, "status": {"type": "text", "index": 7, "name": "status", "comment": null}, "creative_type": {"type": "text", "index": 8, "name": "creative_type", "comment": null}, "_fivetran_synced": {"type": "text", "index": 9, "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.pinterest_source_integration_tests.pin_promotion_history_data"}, "seed.pinterest_source_integration_tests.pin_promotion_report_data": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "pin_promotion_report_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"date": {"type": "text", "index": 1, "name": "date", "comment": null}, "pin_promotion_id": {"type": "bigint", "index": 2, "name": "pin_promotion_id", "comment": null}, "ad_group_id": {"type": "bigint", "index": 3, "name": "ad_group_id", "comment": null}, "campaign_id": {"type": "bigint", "index": 4, "name": "campaign_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 5, "name": "advertiser_id", "comment": null}, "_fivetran_synced": {"type": "text", "index": 6, "name": "_fivetran_synced", "comment": null}, "impression_1": {"type": "integer", "index": 7, "name": "impression_1", "comment": null}, "impression_2": {"type": "integer", "index": 8, "name": "impression_2", "comment": null}, "clickthrough_1": {"type": "integer", "index": 9, "name": "clickthrough_1", "comment": null}, "clickthrough_2": {"type": "integer", "index": 10, "name": "clickthrough_2", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 11, "name": "spend_in_micro_dollar", "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.pinterest_source_integration_tests.pin_promotion_report_data"}, "model.pinterest_source.stg_pinterest_ads__ad_group_history": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__ad_group_history", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"ad_group_id": {"type": "bigint", "index": 1, "name": "ad_group_id", "comment": null}, "ad_group_name": {"type": "text", "index": 2, "name": "ad_group_name", "comment": null}, "ad_group_status": {"type": "text", "index": 3, "name": "ad_group_status", "comment": null}, "_fivetran_synced": {"type": "text", "index": 4, "name": "_fivetran_synced", "comment": null}, "campaign_id": {"type": "bigint", "index": 5, "name": "campaign_id", "comment": null}, "created_at": {"type": "text", "index": 6, "name": "created_at", "comment": null}, "end_time": {"type": "integer", "index": 7, "name": "end_time", "comment": null}, "start_time": {"type": "text", "index": 8, "name": "start_time", "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.pinterest_source.stg_pinterest_ads__ad_group_history"}, "model.pinterest_source.stg_pinterest_ads__ad_group_history_tmp": {"metadata": {"type": "VIEW", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__ad_group_history_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "campaign_id": {"type": "bigint", "index": 2, "name": "campaign_id", "comment": null}, "created_time": {"type": "text", "index": 3, "name": "created_time", "comment": null}, "name": {"type": "text", "index": 4, "name": "name", "comment": null}, "status": {"type": "text", "index": 5, "name": "status", "comment": null}, "start_time": {"type": "text", "index": 6, "name": "start_time", "comment": null}, "end_time": {"type": "integer", "index": 7, "name": "end_time", "comment": null}, "_fivetran_synced": {"type": "text", "index": 8, "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.pinterest_source.stg_pinterest_ads__ad_group_history_tmp"}, "model.pinterest_source.stg_pinterest_ads__ad_group_report": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__ad_group_report", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"date_day": {"type": "timestamp without time zone", "index": 1, "name": "date_day", "comment": null}, "ad_group_id": {"type": "bigint", "index": 2, "name": "ad_group_id", "comment": null}, "ad_group_name": {"type": "text", "index": 3, "name": "ad_group_name", "comment": null}, "ad_group_status": {"type": "text", "index": 4, "name": "ad_group_status", "comment": null}, "campaign_id": {"type": "bigint", "index": 5, "name": "campaign_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 6, "name": "advertiser_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 7, "name": "_fivetran_synced", "comment": null}, "impressions": {"type": "integer", "index": 8, "name": "impressions", "comment": null}, "clicks": {"type": "integer", "index": 9, "name": "clicks", "comment": null}, "spend": {"type": "numeric", "index": 10, "name": "spend", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.pinterest_source.stg_pinterest_ads__ad_group_report"}, "model.pinterest_source.stg_pinterest_ads__ad_group_report_tmp": {"metadata": {"type": "VIEW", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__ad_group_report_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"ad_group_id": {"type": "bigint", "index": 1, "name": "ad_group_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 2, "name": "advertiser_id", "comment": null}, "date": {"type": "timestamp without time zone", "index": 3, "name": "date", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 4, "name": "_fivetran_synced", "comment": null}, "ad_group_name": {"type": "text", "index": 5, "name": "ad_group_name", "comment": null}, "ad_group_status": {"type": "text", "index": 6, "name": "ad_group_status", "comment": null}, "campaign_daily_spend_cap": {"type": "integer", "index": 7, "name": "campaign_daily_spend_cap", "comment": null}, "campaign_id": {"type": "bigint", "index": 8, "name": "campaign_id", "comment": null}, "campaign_lifetime_spend_cap": {"type": "integer", "index": 9, "name": "campaign_lifetime_spend_cap", "comment": null}, "campaign_name": {"type": "text", "index": 10, "name": "campaign_name", "comment": null}, "campaign_status": {"type": "text", "index": 11, "name": "campaign_status", "comment": null}, "clickthrough_1": {"type": "integer", "index": 12, "name": "clickthrough_1", "comment": null}, "clickthrough_1_gross": {"type": "integer", "index": 13, "name": "clickthrough_1_gross", "comment": null}, "cpc_in_micro_dollar": {"type": "double precision", "index": 14, "name": "cpc_in_micro_dollar", "comment": null}, "cpm_in_micro_dollar": {"type": "double precision", "index": 15, "name": "cpm_in_micro_dollar", "comment": null}, "ctr": {"type": "double precision", "index": 16, "name": "ctr", "comment": null}, "ecpc_in_micro_dollar": {"type": "double precision", "index": 17, "name": "ecpc_in_micro_dollar", "comment": null}, "ecpm_in_micro_dollar": {"type": "double precision", "index": 18, "name": "ecpm_in_micro_dollar", "comment": null}, "ectr": {"type": "double precision", "index": 19, "name": "ectr", "comment": null}, "engagement_1": {"type": "integer", "index": 20, "name": "engagement_1", "comment": null}, "impression_1": {"type": "integer", "index": 21, "name": "impression_1", "comment": null}, "impression_1_gross": {"type": "integer", "index": 22, "name": "impression_1_gross", "comment": null}, "outbound_click_1": {"type": "integer", "index": 23, "name": "outbound_click_1", "comment": null}, "paid_impression": {"type": "integer", "index": 24, "name": "paid_impression", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 25, "name": "spend_in_micro_dollar", "comment": null}, "total_engagement": {"type": "integer", "index": 26, "name": "total_engagement", "comment": null}, "total_impression_frequency": {"type": "double precision", "index": 27, "name": "total_impression_frequency", "comment": null}, "total_impression_user": {"type": "integer", "index": 28, "name": "total_impression_user", "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.pinterest_source.stg_pinterest_ads__ad_group_report_tmp"}, "model.pinterest_source.stg_pinterest_ads__advertiser_history": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__advertiser_history", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"advertiser_id": {"type": "bigint", "index": 1, "name": "advertiser_id", "comment": null}, "advertiser_name": {"type": "text", "index": 2, "name": "advertiser_name", "comment": null}, "advertiser_status": {"type": "text", "index": 3, "name": "advertiser_status", "comment": null}, "billing_profile_status": {"type": "text", "index": 4, "name": "billing_profile_status", "comment": null}, "billing_type": {"type": "text", "index": 5, "name": "billing_type", "comment": null}, "country": {"type": "text", "index": 6, "name": "country", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 7, "name": "created_at", "comment": null}, "currency_code": {"type": "text", "index": 8, "name": "currency_code", "comment": null}, "merchant_id": {"type": "integer", "index": 9, "name": "merchant_id", "comment": null}, "owner_user_id": {"type": "integer", "index": 10, "name": "owner_user_id", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 11, "name": "updated_at", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 12, "name": "_fivetran_synced", "comment": null}, "is_most_recent_record": {"type": "boolean", "index": 13, "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.pinterest_source.stg_pinterest_ads__advertiser_history"}, "model.pinterest_source.stg_pinterest_ads__advertiser_history_tmp": {"metadata": {"type": "VIEW", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__advertiser_history_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "updated_time": {"type": "timestamp without time zone", "index": 2, "name": "updated_time", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "billing_profile_status": {"type": "text", "index": 4, "name": "billing_profile_status", "comment": null}, "billing_type": {"type": "text", "index": 5, "name": "billing_type", "comment": null}, "country": {"type": "text", "index": 6, "name": "country", "comment": null}, "created_time": {"type": "timestamp without time zone", "index": 7, "name": "created_time", "comment": null}, "currency": {"type": "text", "index": 8, "name": "currency", "comment": null}, "merchant_id": {"type": "integer", "index": 9, "name": "merchant_id", "comment": null}, "name": {"type": "text", "index": 10, "name": "name", "comment": null}, "owner_user_id": {"type": "integer", "index": 11, "name": "owner_user_id", "comment": null}, "status": {"type": "text", "index": 12, "name": "status", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.pinterest_source.stg_pinterest_ads__advertiser_history_tmp"}, "model.pinterest_source.stg_pinterest_ads__advertiser_report": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__advertiser_report", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"date_day": {"type": "timestamp without time zone", "index": 1, "name": "date_day", "comment": null}, "advertiser_id": {"type": "bigint", "index": 2, "name": "advertiser_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "impressions": {"type": "integer", "index": 4, "name": "impressions", "comment": null}, "clicks": {"type": "integer", "index": 5, "name": "clicks", "comment": null}, "spend": {"type": "numeric", "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.pinterest_source.stg_pinterest_ads__advertiser_report"}, "model.pinterest_source.stg_pinterest_ads__advertiser_report_tmp": {"metadata": {"type": "VIEW", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__advertiser_report_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"advertiser_id": {"type": "bigint", "index": 1, "name": "advertiser_id", "comment": null}, "date": {"type": "timestamp without time zone", "index": 2, "name": "date", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "clickthrough_1": {"type": "integer", "index": 4, "name": "clickthrough_1", "comment": null}, "clickthrough_1_gross": {"type": "integer", "index": 5, "name": "clickthrough_1_gross", "comment": null}, "cpc_in_micro_dollar": {"type": "double precision", "index": 6, "name": "cpc_in_micro_dollar", "comment": null}, "cpm_in_micro_dollar": {"type": "double precision", "index": 7, "name": "cpm_in_micro_dollar", "comment": null}, "ctr": {"type": "double precision", "index": 8, "name": "ctr", "comment": null}, "ecpc_in_micro_dollar": {"type": "double precision", "index": 9, "name": "ecpc_in_micro_dollar", "comment": null}, "ecpm_in_micro_dollar": {"type": "double precision", "index": 10, "name": "ecpm_in_micro_dollar", "comment": null}, "ectr": {"type": "double precision", "index": 11, "name": "ectr", "comment": null}, "engagement_1": {"type": "integer", "index": 12, "name": "engagement_1", "comment": null}, "impression_1": {"type": "integer", "index": 13, "name": "impression_1", "comment": null}, "impression_1_gross": {"type": "integer", "index": 14, "name": "impression_1_gross", "comment": null}, "outbound_click_1": {"type": "integer", "index": 15, "name": "outbound_click_1", "comment": null}, "paid_impression": {"type": "integer", "index": 16, "name": "paid_impression", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 17, "name": "spend_in_micro_dollar", "comment": null}, "total_engagement": {"type": "integer", "index": 18, "name": "total_engagement", "comment": null}, "total_impression_frequency": {"type": "double precision", "index": 19, "name": "total_impression_frequency", "comment": null}, "total_impression_user": {"type": "integer", "index": 20, "name": "total_impression_user", "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.pinterest_source.stg_pinterest_ads__advertiser_report_tmp"}, "model.pinterest_source.stg_pinterest_ads__campaign_history": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__campaign_history", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"campaign_id": {"type": "bigint", "index": 1, "name": "campaign_id", "comment": null}, "campaign_name": {"type": "text", "index": 2, "name": "campaign_name", "comment": null}, "advertiser_id": {"type": "bigint", "index": 3, "name": "advertiser_id", "comment": null}, "campaign_status": {"type": "text", "index": 4, "name": "campaign_status", "comment": null}, "_fivetran_synced": {"type": "text", "index": 5, "name": "_fivetran_synced", "comment": null}, "created_at": {"type": "text", "index": 6, "name": "created_at", "comment": null}, "is_most_recent_record": {"type": "boolean", "index": 7, "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.pinterest_source.stg_pinterest_ads__campaign_history"}, "model.pinterest_source.stg_pinterest_ads__campaign_history_tmp": {"metadata": {"type": "VIEW", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__campaign_history_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "created_time": {"type": "text", "index": 2, "name": "created_time", "comment": null}, "name": {"type": "text", "index": 3, "name": "name", "comment": null}, "status": {"type": "text", "index": 4, "name": "status", "comment": null}, "_fivetran_synced": {"type": "text", "index": 5, "name": "_fivetran_synced", "comment": null}, "advertiser_id": {"type": "bigint", "index": 6, "name": "advertiser_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.pinterest_source.stg_pinterest_ads__campaign_history_tmp"}, "model.pinterest_source.stg_pinterest_ads__campaign_report": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__campaign_report", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"date_day": {"type": "timestamp without time zone", "index": 1, "name": "date_day", "comment": null}, "campaign_id": {"type": "bigint", "index": 2, "name": "campaign_id", "comment": null}, "campaign_name": {"type": "text", "index": 3, "name": "campaign_name", "comment": null}, "campaign_status": {"type": "text", "index": 4, "name": "campaign_status", "comment": null}, "advertiser_id": {"type": "bigint", "index": 5, "name": "advertiser_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 6, "name": "_fivetran_synced", "comment": null}, "impressions": {"type": "integer", "index": 7, "name": "impressions", "comment": null}, "clicks": {"type": "integer", "index": 8, "name": "clicks", "comment": null}, "spend": {"type": "numeric", "index": 9, "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.pinterest_source.stg_pinterest_ads__campaign_report"}, "model.pinterest_source.stg_pinterest_ads__campaign_report_tmp": {"metadata": {"type": "VIEW", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__campaign_report_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"advertiser_id": {"type": "bigint", "index": 1, "name": "advertiser_id", "comment": null}, "campaign_id": {"type": "bigint", "index": 2, "name": "campaign_id", "comment": null}, "date": {"type": "timestamp without time zone", "index": 3, "name": "date", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 4, "name": "_fivetran_synced", "comment": null}, "campaign_daily_spend_cap": {"type": "integer", "index": 5, "name": "campaign_daily_spend_cap", "comment": null}, "campaign_lifetime_spend_cap": {"type": "integer", "index": 6, "name": "campaign_lifetime_spend_cap", "comment": null}, "campaign_name": {"type": "text", "index": 7, "name": "campaign_name", "comment": null}, "campaign_status": {"type": "text", "index": 8, "name": "campaign_status", "comment": null}, "clickthrough_1": {"type": "integer", "index": 9, "name": "clickthrough_1", "comment": null}, "clickthrough_1_gross": {"type": "integer", "index": 10, "name": "clickthrough_1_gross", "comment": null}, "cpc_in_micro_dollar": {"type": "double precision", "index": 11, "name": "cpc_in_micro_dollar", "comment": null}, "cpm_in_micro_dollar": {"type": "double precision", "index": 12, "name": "cpm_in_micro_dollar", "comment": null}, "ctr": {"type": "double precision", "index": 13, "name": "ctr", "comment": null}, "ecpc_in_micro_dollar": {"type": "double precision", "index": 14, "name": "ecpc_in_micro_dollar", "comment": null}, "ecpm_in_micro_dollar": {"type": "double precision", "index": 15, "name": "ecpm_in_micro_dollar", "comment": null}, "ectr": {"type": "double precision", "index": 16, "name": "ectr", "comment": null}, "engagement_1": {"type": "integer", "index": 17, "name": "engagement_1", "comment": null}, "impression_1": {"type": "integer", "index": 18, "name": "impression_1", "comment": null}, "impression_1_gross": {"type": "integer", "index": 19, "name": "impression_1_gross", "comment": null}, "outbound_click_1": {"type": "integer", "index": 20, "name": "outbound_click_1", "comment": null}, "paid_impression": {"type": "integer", "index": 21, "name": "paid_impression", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 22, "name": "spend_in_micro_dollar", "comment": null}, "total_engagement": {"type": "integer", "index": 23, "name": "total_engagement", "comment": null}, "total_impression_frequency": {"type": "double precision", "index": 24, "name": "total_impression_frequency", "comment": null}, "total_impression_user": {"type": "integer", "index": 25, "name": "total_impression_user", "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.pinterest_source.stg_pinterest_ads__campaign_report_tmp"}, "model.pinterest_source.stg_pinterest_ads__keyword_history": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__keyword_history", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"keyword_id": {"type": "bigint", "index": 1, "name": "keyword_id", "comment": null}, "keyword_value": {"type": "text", "index": 2, "name": "keyword_value", "comment": null}, "_fivetran_id": {"type": "text", "index": 3, "name": "_fivetran_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 4, "name": "_fivetran_synced", "comment": null}, "ad_group_id": {"type": "bigint", "index": 5, "name": "ad_group_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 6, "name": "advertiser_id", "comment": null}, "archived": {"type": "boolean", "index": 7, "name": "archived", "comment": null}, "bid": {"type": "integer", "index": 8, "name": "bid", "comment": null}, "campaign_id": {"type": "bigint", "index": 9, "name": "campaign_id", "comment": null}, "match_type": {"type": "text", "index": 10, "name": "match_type", "comment": null}, "parent_type": {"type": "text", "index": 11, "name": "parent_type", "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.pinterest_source.stg_pinterest_ads__keyword_history"}, "model.pinterest_source.stg_pinterest_ads__keyword_history_tmp": {"metadata": {"type": "VIEW", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__keyword_history_tmp", "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}, "ad_group_id": {"type": "bigint", "index": 3, "name": "ad_group_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 4, "name": "advertiser_id", "comment": null}, "archived": {"type": "boolean", "index": 5, "name": "archived", "comment": null}, "bid": {"type": "integer", "index": 6, "name": "bid", "comment": null}, "campaign_id": {"type": "bigint", "index": 7, "name": "campaign_id", "comment": null}, "id": {"type": "bigint", "index": 8, "name": "id", "comment": null}, "match_type": {"type": "text", "index": 9, "name": "match_type", "comment": null}, "parent_type": {"type": "text", "index": 10, "name": "parent_type", "comment": null}, "value": {"type": "text", "index": 11, "name": "value", "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.pinterest_source.stg_pinterest_ads__keyword_history_tmp"}, "model.pinterest_source.stg_pinterest_ads__keyword_report": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__keyword_report", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"date_day": {"type": "timestamp without time zone", "index": 1, "name": "date_day", "comment": null}, "keyword_id": {"type": "bigint", "index": 2, "name": "keyword_id", "comment": null}, "pin_promotion_id": {"type": "bigint", "index": 3, "name": "pin_promotion_id", "comment": null}, "ad_group_id": {"type": "bigint", "index": 4, "name": "ad_group_id", "comment": null}, "ad_group_name": {"type": "text", "index": 5, "name": "ad_group_name", "comment": null}, "ad_group_status": {"type": "text", "index": 6, "name": "ad_group_status", "comment": null}, "campaign_id": {"type": "bigint", "index": 7, "name": "campaign_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 8, "name": "advertiser_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 9, "name": "_fivetran_synced", "comment": null}, "impressions": {"type": "integer", "index": 10, "name": "impressions", "comment": null}, "clicks": {"type": "integer", "index": 11, "name": "clicks", "comment": null}, "spend": {"type": "numeric", "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.pinterest_source.stg_pinterest_ads__keyword_report"}, "model.pinterest_source.stg_pinterest_ads__keyword_report_tmp": {"metadata": {"type": "VIEW", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__keyword_report_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"ad_group_id": {"type": "bigint", "index": 1, "name": "ad_group_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 2, "name": "advertiser_id", "comment": null}, "campaign_id": {"type": "bigint", "index": 3, "name": "campaign_id", "comment": null}, "date": {"type": "timestamp without time zone", "index": 4, "name": "date", "comment": null}, "keyword_id": {"type": "bigint", "index": 5, "name": "keyword_id", "comment": null}, "pin_id": {"type": "bigint", "index": 6, "name": "pin_id", "comment": null}, "pin_promotion_id": {"type": "bigint", "index": 7, "name": "pin_promotion_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 8, "name": "_fivetran_synced", "comment": null}, "ad_group_name": {"type": "text", "index": 9, "name": "ad_group_name", "comment": null}, "ad_group_status": {"type": "text", "index": 10, "name": "ad_group_status", "comment": null}, "campaign_daily_spend_cap": {"type": "integer", "index": 11, "name": "campaign_daily_spend_cap", "comment": null}, "campaign_lifetime_spend_cap": {"type": "integer", "index": 12, "name": "campaign_lifetime_spend_cap", "comment": null}, "campaign_name": {"type": "text", "index": 13, "name": "campaign_name", "comment": null}, "campaign_status": {"type": "text", "index": 14, "name": "campaign_status", "comment": null}, "clickthrough_1": {"type": "integer", "index": 15, "name": "clickthrough_1", "comment": null}, "clickthrough_1_gross": {"type": "integer", "index": 16, "name": "clickthrough_1_gross", "comment": null}, "cpc_in_micro_dollar": {"type": "integer", "index": 17, "name": "cpc_in_micro_dollar", "comment": null}, "cpm_in_micro_dollar": {"type": "double precision", "index": 18, "name": "cpm_in_micro_dollar", "comment": null}, "ctr": {"type": "integer", "index": 19, "name": "ctr", "comment": null}, "ecpc_in_micro_dollar": {"type": "integer", "index": 20, "name": "ecpc_in_micro_dollar", "comment": null}, "ecpm_in_micro_dollar": {"type": "double precision", "index": 21, "name": "ecpm_in_micro_dollar", "comment": null}, "ectr": {"type": "integer", "index": 22, "name": "ectr", "comment": null}, "engagement_1": {"type": "integer", "index": 23, "name": "engagement_1", "comment": null}, "impression_1": {"type": "integer", "index": 24, "name": "impression_1", "comment": null}, "impression_1_gross": {"type": "integer", "index": 25, "name": "impression_1_gross", "comment": null}, "outbound_click_1": {"type": "integer", "index": 26, "name": "outbound_click_1", "comment": null}, "paid_impression": {"type": "integer", "index": 27, "name": "paid_impression", "comment": null}, "pin_promotion_name": {"type": "text", "index": 28, "name": "pin_promotion_name", "comment": null}, "pin_promotion_status": {"type": "text", "index": 29, "name": "pin_promotion_status", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 30, "name": "spend_in_micro_dollar", "comment": null}, "targeting_type": {"type": "text", "index": 31, "name": "targeting_type", "comment": null}, "targeting_value": {"type": "text", "index": 32, "name": "targeting_value", "comment": null}, "total_engagement": {"type": "integer", "index": 33, "name": "total_engagement", "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.pinterest_source.stg_pinterest_ads__keyword_report_tmp"}, "model.pinterest_source.stg_pinterest_ads__pin_promotion_history": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__pin_promotion_history", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"pin_promotion_id": {"type": "bigint", "index": 1, "name": "pin_promotion_id", "comment": null}, "ad_group_id": {"type": "bigint", "index": 2, "name": "ad_group_id", "comment": null}, "created_at": {"type": "text", "index": 3, "name": "created_at", "comment": null}, "destination_url": {"type": "text", "index": 4, "name": "destination_url", "comment": null}, "base_url": {"type": "text", "index": 5, "name": "base_url", "comment": null}, "url_host": {"type": "character varying", "index": 6, "name": "url_host", "comment": null}, "url_path": {"type": "text", "index": 7, "name": "url_path", "comment": null}, "utm_source": {"type": "text", "index": 8, "name": "utm_source", "comment": null}, "utm_medium": {"type": "text", "index": 9, "name": "utm_medium", "comment": null}, "utm_campaign": {"type": "text", "index": 10, "name": "utm_campaign", "comment": null}, "utm_content": {"type": "text", "index": 11, "name": "utm_content", "comment": null}, "utm_term": {"type": "text", "index": 12, "name": "utm_term", "comment": null}, "pin_name": {"type": "text", "index": 13, "name": "pin_name", "comment": null}, "pin_id": {"type": "bigint", "index": 14, "name": "pin_id", "comment": null}, "pin_status": {"type": "text", "index": 15, "name": "pin_status", "comment": null}, "creative_type": {"type": "text", "index": 16, "name": "creative_type", "comment": null}, "_fivetran_synced": {"type": "text", "index": 17, "name": "_fivetran_synced", "comment": null}, "is_most_recent_record": {"type": "boolean", "index": 18, "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.pinterest_source.stg_pinterest_ads__pin_promotion_history"}, "model.pinterest_source.stg_pinterest_ads__pin_promotion_history_tmp": {"metadata": {"type": "VIEW", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__pin_promotion_history_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "ad_group_id": {"type": "bigint", "index": 2, "name": "ad_group_id", "comment": null}, "created_time": {"type": "text", "index": 3, "name": "created_time", "comment": null}, "destination_url": {"type": "text", "index": 4, "name": "destination_url", "comment": null}, "name": {"type": "text", "index": 5, "name": "name", "comment": null}, "pin_id": {"type": "bigint", "index": 6, "name": "pin_id", "comment": null}, "status": {"type": "text", "index": 7, "name": "status", "comment": null}, "creative_type": {"type": "text", "index": 8, "name": "creative_type", "comment": null}, "_fivetran_synced": {"type": "text", "index": 9, "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.pinterest_source.stg_pinterest_ads__pin_promotion_history_tmp"}, "model.pinterest_source.stg_pinterest_ads__pin_promotion_report": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__pin_promotion_report", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"date_day": {"type": "text", "index": 1, "name": "date_day", "comment": null}, "pin_promotion_id": {"type": "bigint", "index": 2, "name": "pin_promotion_id", "comment": null}, "ad_group_id": {"type": "bigint", "index": 3, "name": "ad_group_id", "comment": null}, "campaign_id": {"type": "bigint", "index": 4, "name": "campaign_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 5, "name": "advertiser_id", "comment": null}, "_fivetran_synced": {"type": "text", "index": 6, "name": "_fivetran_synced", "comment": null}, "impressions": {"type": "integer", "index": 7, "name": "impressions", "comment": null}, "clicks": {"type": "integer", "index": 8, "name": "clicks", "comment": null}, "spend": {"type": "numeric", "index": 9, "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.pinterest_source.stg_pinterest_ads__pin_promotion_report"}, "model.pinterest_source.stg_pinterest_ads__pin_promotion_report_tmp": {"metadata": {"type": "VIEW", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__pin_promotion_report_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"date": {"type": "text", "index": 1, "name": "date", "comment": null}, "pin_promotion_id": {"type": "bigint", "index": 2, "name": "pin_promotion_id", "comment": null}, "ad_group_id": {"type": "bigint", "index": 3, "name": "ad_group_id", "comment": null}, "campaign_id": {"type": "bigint", "index": 4, "name": "campaign_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 5, "name": "advertiser_id", "comment": null}, "_fivetran_synced": {"type": "text", "index": 6, "name": "_fivetran_synced", "comment": null}, "impression_1": {"type": "integer", "index": 7, "name": "impression_1", "comment": null}, "impression_2": {"type": "integer", "index": 8, "name": "impression_2", "comment": null}, "clickthrough_1": {"type": "integer", "index": 9, "name": "clickthrough_1", "comment": null}, "clickthrough_2": {"type": "integer", "index": 10, "name": "clickthrough_2", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 11, "name": "spend_in_micro_dollar", "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.pinterest_source.stg_pinterest_ads__pin_promotion_report_tmp"}}, "sources": {"source.pinterest_source.pinterest_ads.ad_group_history": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "ad_group_history_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "campaign_id": {"type": "bigint", "index": 2, "name": "campaign_id", "comment": null}, "created_time": {"type": "text", "index": 3, "name": "created_time", "comment": null}, "name": {"type": "text", "index": 4, "name": "name", "comment": null}, "status": {"type": "text", "index": 5, "name": "status", "comment": null}, "start_time": {"type": "text", "index": 6, "name": "start_time", "comment": null}, "end_time": {"type": "integer", "index": 7, "name": "end_time", "comment": null}, "_fivetran_synced": {"type": "text", "index": 8, "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.pinterest_source.pinterest_ads.ad_group_history"}, "source.pinterest_source.pinterest_ads.ad_group_report": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "ad_group_report_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"ad_group_id": {"type": "bigint", "index": 1, "name": "ad_group_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 2, "name": "advertiser_id", "comment": null}, "date": {"type": "timestamp without time zone", "index": 3, "name": "date", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 4, "name": "_fivetran_synced", "comment": null}, "ad_group_name": {"type": "text", "index": 5, "name": "ad_group_name", "comment": null}, "ad_group_status": {"type": "text", "index": 6, "name": "ad_group_status", "comment": null}, "campaign_daily_spend_cap": {"type": "integer", "index": 7, "name": "campaign_daily_spend_cap", "comment": null}, "campaign_id": {"type": "bigint", "index": 8, "name": "campaign_id", "comment": null}, "campaign_lifetime_spend_cap": {"type": "integer", "index": 9, "name": "campaign_lifetime_spend_cap", "comment": null}, "campaign_name": {"type": "text", "index": 10, "name": "campaign_name", "comment": null}, "campaign_status": {"type": "text", "index": 11, "name": "campaign_status", "comment": null}, "clickthrough_1": {"type": "integer", "index": 12, "name": "clickthrough_1", "comment": null}, "clickthrough_1_gross": {"type": "integer", "index": 13, "name": "clickthrough_1_gross", "comment": null}, "cpc_in_micro_dollar": {"type": "double precision", "index": 14, "name": "cpc_in_micro_dollar", "comment": null}, "cpm_in_micro_dollar": {"type": "double precision", "index": 15, "name": "cpm_in_micro_dollar", "comment": null}, "ctr": {"type": "double precision", "index": 16, "name": "ctr", "comment": null}, "ecpc_in_micro_dollar": {"type": "double precision", "index": 17, "name": "ecpc_in_micro_dollar", "comment": null}, "ecpm_in_micro_dollar": {"type": "double precision", "index": 18, "name": "ecpm_in_micro_dollar", "comment": null}, "ectr": {"type": "double precision", "index": 19, "name": "ectr", "comment": null}, "engagement_1": {"type": "integer", "index": 20, "name": "engagement_1", "comment": null}, "impression_1": {"type": "integer", "index": 21, "name": "impression_1", "comment": null}, "impression_1_gross": {"type": "integer", "index": 22, "name": "impression_1_gross", "comment": null}, "outbound_click_1": {"type": "integer", "index": 23, "name": "outbound_click_1", "comment": null}, "paid_impression": {"type": "integer", "index": 24, "name": "paid_impression", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 25, "name": "spend_in_micro_dollar", "comment": null}, "total_engagement": {"type": "integer", "index": 26, "name": "total_engagement", "comment": null}, "total_impression_frequency": {"type": "double precision", "index": 27, "name": "total_impression_frequency", "comment": null}, "total_impression_user": {"type": "integer", "index": 28, "name": "total_impression_user", "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.pinterest_source.pinterest_ads.ad_group_report"}, "source.pinterest_source.pinterest_ads.advertiser_history": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "advertiser_history_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "updated_time": {"type": "timestamp without time zone", "index": 2, "name": "updated_time", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "billing_profile_status": {"type": "text", "index": 4, "name": "billing_profile_status", "comment": null}, "billing_type": {"type": "text", "index": 5, "name": "billing_type", "comment": null}, "country": {"type": "text", "index": 6, "name": "country", "comment": null}, "created_time": {"type": "timestamp without time zone", "index": 7, "name": "created_time", "comment": null}, "currency": {"type": "text", "index": 8, "name": "currency", "comment": null}, "merchant_id": {"type": "integer", "index": 9, "name": "merchant_id", "comment": null}, "name": {"type": "text", "index": 10, "name": "name", "comment": null}, "owner_user_id": {"type": "integer", "index": 11, "name": "owner_user_id", "comment": null}, "status": {"type": "text", "index": 12, "name": "status", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.pinterest_source.pinterest_ads.advertiser_history"}, "source.pinterest_source.pinterest_ads.advertiser_report": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "advertiser_report_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"advertiser_id": {"type": "bigint", "index": 1, "name": "advertiser_id", "comment": null}, "date": {"type": "timestamp without time zone", "index": 2, "name": "date", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "clickthrough_1": {"type": "integer", "index": 4, "name": "clickthrough_1", "comment": null}, "clickthrough_1_gross": {"type": "integer", "index": 5, "name": "clickthrough_1_gross", "comment": null}, "cpc_in_micro_dollar": {"type": "double precision", "index": 6, "name": "cpc_in_micro_dollar", "comment": null}, "cpm_in_micro_dollar": {"type": "double precision", "index": 7, "name": "cpm_in_micro_dollar", "comment": null}, "ctr": {"type": "double precision", "index": 8, "name": "ctr", "comment": null}, "ecpc_in_micro_dollar": {"type": "double precision", "index": 9, "name": "ecpc_in_micro_dollar", "comment": null}, "ecpm_in_micro_dollar": {"type": "double precision", "index": 10, "name": "ecpm_in_micro_dollar", "comment": null}, "ectr": {"type": "double precision", "index": 11, "name": "ectr", "comment": null}, "engagement_1": {"type": "integer", "index": 12, "name": "engagement_1", "comment": null}, "impression_1": {"type": "integer", "index": 13, "name": "impression_1", "comment": null}, "impression_1_gross": {"type": "integer", "index": 14, "name": "impression_1_gross", "comment": null}, "outbound_click_1": {"type": "integer", "index": 15, "name": "outbound_click_1", "comment": null}, "paid_impression": {"type": "integer", "index": 16, "name": "paid_impression", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 17, "name": "spend_in_micro_dollar", "comment": null}, "total_engagement": {"type": "integer", "index": 18, "name": "total_engagement", "comment": null}, "total_impression_frequency": {"type": "double precision", "index": 19, "name": "total_impression_frequency", "comment": null}, "total_impression_user": {"type": "integer", "index": 20, "name": "total_impression_user", "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.pinterest_source.pinterest_ads.advertiser_report"}, "source.pinterest_source.pinterest_ads.campaign_history": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "campaign_history_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "created_time": {"type": "text", "index": 2, "name": "created_time", "comment": null}, "name": {"type": "text", "index": 3, "name": "name", "comment": null}, "status": {"type": "text", "index": 4, "name": "status", "comment": null}, "_fivetran_synced": {"type": "text", "index": 5, "name": "_fivetran_synced", "comment": null}, "advertiser_id": {"type": "bigint", "index": 6, "name": "advertiser_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.pinterest_source.pinterest_ads.campaign_history"}, "source.pinterest_source.pinterest_ads.campaign_report": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "campaign_report_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"advertiser_id": {"type": "bigint", "index": 1, "name": "advertiser_id", "comment": null}, "campaign_id": {"type": "bigint", "index": 2, "name": "campaign_id", "comment": null}, "date": {"type": "timestamp without time zone", "index": 3, "name": "date", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 4, "name": "_fivetran_synced", "comment": null}, "campaign_daily_spend_cap": {"type": "integer", "index": 5, "name": "campaign_daily_spend_cap", "comment": null}, "campaign_lifetime_spend_cap": {"type": "integer", "index": 6, "name": "campaign_lifetime_spend_cap", "comment": null}, "campaign_name": {"type": "text", "index": 7, "name": "campaign_name", "comment": null}, "campaign_status": {"type": "text", "index": 8, "name": "campaign_status", "comment": null}, "clickthrough_1": {"type": "integer", "index": 9, "name": "clickthrough_1", "comment": null}, "clickthrough_1_gross": {"type": "integer", "index": 10, "name": "clickthrough_1_gross", "comment": null}, "cpc_in_micro_dollar": {"type": "double precision", "index": 11, "name": "cpc_in_micro_dollar", "comment": null}, "cpm_in_micro_dollar": {"type": "double precision", "index": 12, "name": "cpm_in_micro_dollar", "comment": null}, "ctr": {"type": "double precision", "index": 13, "name": "ctr", "comment": null}, "ecpc_in_micro_dollar": {"type": "double precision", "index": 14, "name": "ecpc_in_micro_dollar", "comment": null}, "ecpm_in_micro_dollar": {"type": "double precision", "index": 15, "name": "ecpm_in_micro_dollar", "comment": null}, "ectr": {"type": "double precision", "index": 16, "name": "ectr", "comment": null}, "engagement_1": {"type": "integer", "index": 17, "name": "engagement_1", "comment": null}, "impression_1": {"type": "integer", "index": 18, "name": "impression_1", "comment": null}, "impression_1_gross": {"type": "integer", "index": 19, "name": "impression_1_gross", "comment": null}, "outbound_click_1": {"type": "integer", "index": 20, "name": "outbound_click_1", "comment": null}, "paid_impression": {"type": "integer", "index": 21, "name": "paid_impression", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 22, "name": "spend_in_micro_dollar", "comment": null}, "total_engagement": {"type": "integer", "index": 23, "name": "total_engagement", "comment": null}, "total_impression_frequency": {"type": "double precision", "index": 24, "name": "total_impression_frequency", "comment": null}, "total_impression_user": {"type": "integer", "index": 25, "name": "total_impression_user", "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.pinterest_source.pinterest_ads.campaign_report"}, "source.pinterest_source.pinterest_ads.keyword_history": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "keyword_history_data", "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}, "ad_group_id": {"type": "bigint", "index": 3, "name": "ad_group_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 4, "name": "advertiser_id", "comment": null}, "archived": {"type": "boolean", "index": 5, "name": "archived", "comment": null}, "bid": {"type": "integer", "index": 6, "name": "bid", "comment": null}, "campaign_id": {"type": "bigint", "index": 7, "name": "campaign_id", "comment": null}, "id": {"type": "bigint", "index": 8, "name": "id", "comment": null}, "match_type": {"type": "text", "index": 9, "name": "match_type", "comment": null}, "parent_type": {"type": "text", "index": 10, "name": "parent_type", "comment": null}, "value": {"type": "text", "index": 11, "name": "value", "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.pinterest_source.pinterest_ads.keyword_history"}, "source.pinterest_source.pinterest_ads.keyword_report": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "keyword_report_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"ad_group_id": {"type": "bigint", "index": 1, "name": "ad_group_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 2, "name": "advertiser_id", "comment": null}, "campaign_id": {"type": "bigint", "index": 3, "name": "campaign_id", "comment": null}, "date": {"type": "timestamp without time zone", "index": 4, "name": "date", "comment": null}, "keyword_id": {"type": "bigint", "index": 5, "name": "keyword_id", "comment": null}, "pin_id": {"type": "bigint", "index": 6, "name": "pin_id", "comment": null}, "pin_promotion_id": {"type": "bigint", "index": 7, "name": "pin_promotion_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 8, "name": "_fivetran_synced", "comment": null}, "ad_group_name": {"type": "text", "index": 9, "name": "ad_group_name", "comment": null}, "ad_group_status": {"type": "text", "index": 10, "name": "ad_group_status", "comment": null}, "campaign_daily_spend_cap": {"type": "integer", "index": 11, "name": "campaign_daily_spend_cap", "comment": null}, "campaign_lifetime_spend_cap": {"type": "integer", "index": 12, "name": "campaign_lifetime_spend_cap", "comment": null}, "campaign_name": {"type": "text", "index": 13, "name": "campaign_name", "comment": null}, "campaign_status": {"type": "text", "index": 14, "name": "campaign_status", "comment": null}, "clickthrough_1": {"type": "integer", "index": 15, "name": "clickthrough_1", "comment": null}, "clickthrough_1_gross": {"type": "integer", "index": 16, "name": "clickthrough_1_gross", "comment": null}, "cpc_in_micro_dollar": {"type": "integer", "index": 17, "name": "cpc_in_micro_dollar", "comment": null}, "cpm_in_micro_dollar": {"type": "double precision", "index": 18, "name": "cpm_in_micro_dollar", "comment": null}, "ctr": {"type": "integer", "index": 19, "name": "ctr", "comment": null}, "ecpc_in_micro_dollar": {"type": "integer", "index": 20, "name": "ecpc_in_micro_dollar", "comment": null}, "ecpm_in_micro_dollar": {"type": "double precision", "index": 21, "name": "ecpm_in_micro_dollar", "comment": null}, "ectr": {"type": "integer", "index": 22, "name": "ectr", "comment": null}, "engagement_1": {"type": "integer", "index": 23, "name": "engagement_1", "comment": null}, "impression_1": {"type": "integer", "index": 24, "name": "impression_1", "comment": null}, "impression_1_gross": {"type": "integer", "index": 25, "name": "impression_1_gross", "comment": null}, "outbound_click_1": {"type": "integer", "index": 26, "name": "outbound_click_1", "comment": null}, "paid_impression": {"type": "integer", "index": 27, "name": "paid_impression", "comment": null}, "pin_promotion_name": {"type": "text", "index": 28, "name": "pin_promotion_name", "comment": null}, "pin_promotion_status": {"type": "text", "index": 29, "name": "pin_promotion_status", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 30, "name": "spend_in_micro_dollar", "comment": null}, "targeting_type": {"type": "text", "index": 31, "name": "targeting_type", "comment": null}, "targeting_value": {"type": "text", "index": 32, "name": "targeting_value", "comment": null}, "total_engagement": {"type": "integer", "index": 33, "name": "total_engagement", "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.pinterest_source.pinterest_ads.keyword_report"}, "source.pinterest_source.pinterest_ads.pin_promotion_history": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "pin_promotion_history_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "ad_group_id": {"type": "bigint", "index": 2, "name": "ad_group_id", "comment": null}, "created_time": {"type": "text", "index": 3, "name": "created_time", "comment": null}, "destination_url": {"type": "text", "index": 4, "name": "destination_url", "comment": null}, "name": {"type": "text", "index": 5, "name": "name", "comment": null}, "pin_id": {"type": "bigint", "index": 6, "name": "pin_id", "comment": null}, "status": {"type": "text", "index": 7, "name": "status", "comment": null}, "creative_type": {"type": "text", "index": 8, "name": "creative_type", "comment": null}, "_fivetran_synced": {"type": "text", "index": 9, "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.pinterest_source.pinterest_ads.pin_promotion_history"}, "source.pinterest_source.pinterest_ads.pin_promotion_report": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "pin_promotion_report_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"date": {"type": "text", "index": 1, "name": "date", "comment": null}, "pin_promotion_id": {"type": "bigint", "index": 2, "name": "pin_promotion_id", "comment": null}, "ad_group_id": {"type": "bigint", "index": 3, "name": "ad_group_id", "comment": null}, "campaign_id": {"type": "bigint", "index": 4, "name": "campaign_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 5, "name": "advertiser_id", "comment": null}, "_fivetran_synced": {"type": "text", "index": 6, "name": "_fivetran_synced", "comment": null}, "impression_1": {"type": "integer", "index": 7, "name": "impression_1", "comment": null}, "impression_2": {"type": "integer", "index": 8, "name": "impression_2", "comment": null}, "clickthrough_1": {"type": "integer", "index": 9, "name": "clickthrough_1", "comment": null}, "clickthrough_2": {"type": "integer", "index": 10, "name": "clickthrough_2", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 11, "name": "spend_in_micro_dollar", "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.pinterest_source.pinterest_ads.pin_promotion_report"}}, "errors": null} \ No newline at end of file +{"metadata": {"dbt_schema_version": "https://schemas.getdbt.com/dbt/catalog/v1.json", "dbt_version": "1.0.4", "generated_at": "2022-07-20T15:53:17.460932Z", "invocation_id": "054d9dd6-c78c-4076-aa46-85ad14890e03", "env": {}}, "nodes": {"seed.pinterest_source_integration_tests.ad_group_history_data": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "ad_group_history_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "campaign_id": {"type": "bigint", "index": 2, "name": "campaign_id", "comment": null}, "created_time": {"type": "text", "index": 3, "name": "created_time", "comment": null}, "name": {"type": "text", "index": 4, "name": "name", "comment": null}, "status": {"type": "text", "index": 5, "name": "status", "comment": null}, "start_time": {"type": "text", "index": 6, "name": "start_time", "comment": null}, "end_time": {"type": "integer", "index": 7, "name": "end_time", "comment": null}, "_fivetran_synced": {"type": "text", "index": 8, "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.pinterest_source_integration_tests.ad_group_history_data"}, "seed.pinterest_source_integration_tests.ad_group_report_data": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "ad_group_report_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"ad_group_id": {"type": "bigint", "index": 1, "name": "ad_group_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 2, "name": "advertiser_id", "comment": null}, "date": {"type": "timestamp without time zone", "index": 3, "name": "date", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 4, "name": "_fivetran_synced", "comment": null}, "ad_group_name": {"type": "text", "index": 5, "name": "ad_group_name", "comment": null}, "ad_group_status": {"type": "text", "index": 6, "name": "ad_group_status", "comment": null}, "campaign_daily_spend_cap": {"type": "integer", "index": 7, "name": "campaign_daily_spend_cap", "comment": null}, "campaign_id": {"type": "bigint", "index": 8, "name": "campaign_id", "comment": null}, "campaign_lifetime_spend_cap": {"type": "integer", "index": 9, "name": "campaign_lifetime_spend_cap", "comment": null}, "campaign_name": {"type": "text", "index": 10, "name": "campaign_name", "comment": null}, "campaign_status": {"type": "text", "index": 11, "name": "campaign_status", "comment": null}, "clickthrough_1": {"type": "integer", "index": 12, "name": "clickthrough_1", "comment": null}, "clickthrough_1_gross": {"type": "integer", "index": 13, "name": "clickthrough_1_gross", "comment": null}, "cpc_in_micro_dollar": {"type": "double precision", "index": 14, "name": "cpc_in_micro_dollar", "comment": null}, "cpm_in_micro_dollar": {"type": "double precision", "index": 15, "name": "cpm_in_micro_dollar", "comment": null}, "ctr": {"type": "double precision", "index": 16, "name": "ctr", "comment": null}, "ecpc_in_micro_dollar": {"type": "double precision", "index": 17, "name": "ecpc_in_micro_dollar", "comment": null}, "ecpm_in_micro_dollar": {"type": "double precision", "index": 18, "name": "ecpm_in_micro_dollar", "comment": null}, "ectr": {"type": "double precision", "index": 19, "name": "ectr", "comment": null}, "engagement_1": {"type": "integer", "index": 20, "name": "engagement_1", "comment": null}, "impression_1": {"type": "integer", "index": 21, "name": "impression_1", "comment": null}, "impression_1_gross": {"type": "integer", "index": 22, "name": "impression_1_gross", "comment": null}, "outbound_click_1": {"type": "integer", "index": 23, "name": "outbound_click_1", "comment": null}, "paid_impression": {"type": "integer", "index": 24, "name": "paid_impression", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 25, "name": "spend_in_micro_dollar", "comment": null}, "total_engagement": {"type": "integer", "index": 26, "name": "total_engagement", "comment": null}, "total_impression_frequency": {"type": "double precision", "index": 27, "name": "total_impression_frequency", "comment": null}, "total_impression_user": {"type": "integer", "index": 28, "name": "total_impression_user", "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.pinterest_source_integration_tests.ad_group_report_data"}, "seed.pinterest_source_integration_tests.advertiser_history_data": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "advertiser_history_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "updated_time": {"type": "timestamp without time zone", "index": 2, "name": "updated_time", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "billing_profile_status": {"type": "text", "index": 4, "name": "billing_profile_status", "comment": null}, "billing_type": {"type": "text", "index": 5, "name": "billing_type", "comment": null}, "country": {"type": "text", "index": 6, "name": "country", "comment": null}, "created_time": {"type": "timestamp without time zone", "index": 7, "name": "created_time", "comment": null}, "currency": {"type": "text", "index": 8, "name": "currency", "comment": null}, "merchant_id": {"type": "integer", "index": 9, "name": "merchant_id", "comment": null}, "name": {"type": "text", "index": 10, "name": "name", "comment": null}, "owner_user_id": {"type": "integer", "index": 11, "name": "owner_user_id", "comment": null}, "status": {"type": "text", "index": 12, "name": "status", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "seed.pinterest_source_integration_tests.advertiser_history_data"}, "seed.pinterest_source_integration_tests.advertiser_report_data": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "advertiser_report_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"advertiser_id": {"type": "bigint", "index": 1, "name": "advertiser_id", "comment": null}, "date": {"type": "timestamp without time zone", "index": 2, "name": "date", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "clickthrough_1": {"type": "integer", "index": 4, "name": "clickthrough_1", "comment": null}, "clickthrough_1_gross": {"type": "integer", "index": 5, "name": "clickthrough_1_gross", "comment": null}, "cpc_in_micro_dollar": {"type": "double precision", "index": 6, "name": "cpc_in_micro_dollar", "comment": null}, "cpm_in_micro_dollar": {"type": "double precision", "index": 7, "name": "cpm_in_micro_dollar", "comment": null}, "ctr": {"type": "double precision", "index": 8, "name": "ctr", "comment": null}, "ecpc_in_micro_dollar": {"type": "double precision", "index": 9, "name": "ecpc_in_micro_dollar", "comment": null}, "ecpm_in_micro_dollar": {"type": "double precision", "index": 10, "name": "ecpm_in_micro_dollar", "comment": null}, "ectr": {"type": "double precision", "index": 11, "name": "ectr", "comment": null}, "engagement_1": {"type": "integer", "index": 12, "name": "engagement_1", "comment": null}, "impression_1": {"type": "integer", "index": 13, "name": "impression_1", "comment": null}, "impression_1_gross": {"type": "integer", "index": 14, "name": "impression_1_gross", "comment": null}, "outbound_click_1": {"type": "integer", "index": 15, "name": "outbound_click_1", "comment": null}, "paid_impression": {"type": "integer", "index": 16, "name": "paid_impression", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 17, "name": "spend_in_micro_dollar", "comment": null}, "total_engagement": {"type": "integer", "index": 18, "name": "total_engagement", "comment": null}, "total_impression_frequency": {"type": "double precision", "index": 19, "name": "total_impression_frequency", "comment": null}, "total_impression_user": {"type": "integer", "index": 20, "name": "total_impression_user", "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.pinterest_source_integration_tests.advertiser_report_data"}, "seed.pinterest_source_integration_tests.campaign_history_data": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "campaign_history_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "created_time": {"type": "text", "index": 2, "name": "created_time", "comment": null}, "name": {"type": "text", "index": 3, "name": "name", "comment": null}, "status": {"type": "text", "index": 4, "name": "status", "comment": null}, "_fivetran_synced": {"type": "text", "index": 5, "name": "_fivetran_synced", "comment": null}, "advertiser_id": {"type": "bigint", "index": 6, "name": "advertiser_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.pinterest_source_integration_tests.campaign_history_data"}, "seed.pinterest_source_integration_tests.campaign_report_data": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "campaign_report_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"advertiser_id": {"type": "bigint", "index": 1, "name": "advertiser_id", "comment": null}, "campaign_id": {"type": "bigint", "index": 2, "name": "campaign_id", "comment": null}, "date": {"type": "timestamp without time zone", "index": 3, "name": "date", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 4, "name": "_fivetran_synced", "comment": null}, "campaign_daily_spend_cap": {"type": "integer", "index": 5, "name": "campaign_daily_spend_cap", "comment": null}, "campaign_lifetime_spend_cap": {"type": "integer", "index": 6, "name": "campaign_lifetime_spend_cap", "comment": null}, "campaign_name": {"type": "text", "index": 7, "name": "campaign_name", "comment": null}, "campaign_status": {"type": "text", "index": 8, "name": "campaign_status", "comment": null}, "clickthrough_1": {"type": "integer", "index": 9, "name": "clickthrough_1", "comment": null}, "clickthrough_1_gross": {"type": "integer", "index": 10, "name": "clickthrough_1_gross", "comment": null}, "cpc_in_micro_dollar": {"type": "double precision", "index": 11, "name": "cpc_in_micro_dollar", "comment": null}, "cpm_in_micro_dollar": {"type": "double precision", "index": 12, "name": "cpm_in_micro_dollar", "comment": null}, "ctr": {"type": "double precision", "index": 13, "name": "ctr", "comment": null}, "ecpc_in_micro_dollar": {"type": "double precision", "index": 14, "name": "ecpc_in_micro_dollar", "comment": null}, "ecpm_in_micro_dollar": {"type": "double precision", "index": 15, "name": "ecpm_in_micro_dollar", "comment": null}, "ectr": {"type": "double precision", "index": 16, "name": "ectr", "comment": null}, "engagement_1": {"type": "integer", "index": 17, "name": "engagement_1", "comment": null}, "impression_1": {"type": "integer", "index": 18, "name": "impression_1", "comment": null}, "impression_1_gross": {"type": "integer", "index": 19, "name": "impression_1_gross", "comment": null}, "outbound_click_1": {"type": "integer", "index": 20, "name": "outbound_click_1", "comment": null}, "paid_impression": {"type": "integer", "index": 21, "name": "paid_impression", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 22, "name": "spend_in_micro_dollar", "comment": null}, "total_engagement": {"type": "integer", "index": 23, "name": "total_engagement", "comment": null}, "total_impression_frequency": {"type": "double precision", "index": 24, "name": "total_impression_frequency", "comment": null}, "total_impression_user": {"type": "integer", "index": 25, "name": "total_impression_user", "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.pinterest_source_integration_tests.campaign_report_data"}, "seed.pinterest_source_integration_tests.keyword_history_data": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "keyword_history_data", "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}, "ad_group_id": {"type": "bigint", "index": 3, "name": "ad_group_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 4, "name": "advertiser_id", "comment": null}, "archived": {"type": "boolean", "index": 5, "name": "archived", "comment": null}, "bid": {"type": "integer", "index": 6, "name": "bid", "comment": null}, "campaign_id": {"type": "bigint", "index": 7, "name": "campaign_id", "comment": null}, "id": {"type": "bigint", "index": 8, "name": "id", "comment": null}, "match_type": {"type": "text", "index": 9, "name": "match_type", "comment": null}, "parent_type": {"type": "text", "index": 10, "name": "parent_type", "comment": null}, "value": {"type": "text", "index": 11, "name": "value", "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.pinterest_source_integration_tests.keyword_history_data"}, "seed.pinterest_source_integration_tests.keyword_report_data": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "keyword_report_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"ad_group_id": {"type": "bigint", "index": 1, "name": "ad_group_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 2, "name": "advertiser_id", "comment": null}, "campaign_id": {"type": "bigint", "index": 3, "name": "campaign_id", "comment": null}, "date": {"type": "timestamp without time zone", "index": 4, "name": "date", "comment": null}, "keyword_id": {"type": "bigint", "index": 5, "name": "keyword_id", "comment": null}, "pin_id": {"type": "bigint", "index": 6, "name": "pin_id", "comment": null}, "pin_promotion_id": {"type": "bigint", "index": 7, "name": "pin_promotion_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 8, "name": "_fivetran_synced", "comment": null}, "ad_group_name": {"type": "text", "index": 9, "name": "ad_group_name", "comment": null}, "ad_group_status": {"type": "text", "index": 10, "name": "ad_group_status", "comment": null}, "campaign_daily_spend_cap": {"type": "integer", "index": 11, "name": "campaign_daily_spend_cap", "comment": null}, "campaign_lifetime_spend_cap": {"type": "integer", "index": 12, "name": "campaign_lifetime_spend_cap", "comment": null}, "campaign_name": {"type": "text", "index": 13, "name": "campaign_name", "comment": null}, "campaign_status": {"type": "text", "index": 14, "name": "campaign_status", "comment": null}, "clickthrough_1": {"type": "integer", "index": 15, "name": "clickthrough_1", "comment": null}, "clickthrough_1_gross": {"type": "integer", "index": 16, "name": "clickthrough_1_gross", "comment": null}, "cpc_in_micro_dollar": {"type": "integer", "index": 17, "name": "cpc_in_micro_dollar", "comment": null}, "cpm_in_micro_dollar": {"type": "double precision", "index": 18, "name": "cpm_in_micro_dollar", "comment": null}, "ctr": {"type": "integer", "index": 19, "name": "ctr", "comment": null}, "ecpc_in_micro_dollar": {"type": "integer", "index": 20, "name": "ecpc_in_micro_dollar", "comment": null}, "ecpm_in_micro_dollar": {"type": "double precision", "index": 21, "name": "ecpm_in_micro_dollar", "comment": null}, "ectr": {"type": "integer", "index": 22, "name": "ectr", "comment": null}, "engagement_1": {"type": "integer", "index": 23, "name": "engagement_1", "comment": null}, "impression_1": {"type": "integer", "index": 24, "name": "impression_1", "comment": null}, "impression_1_gross": {"type": "integer", "index": 25, "name": "impression_1_gross", "comment": null}, "outbound_click_1": {"type": "integer", "index": 26, "name": "outbound_click_1", "comment": null}, "paid_impression": {"type": "integer", "index": 27, "name": "paid_impression", "comment": null}, "pin_promotion_name": {"type": "text", "index": 28, "name": "pin_promotion_name", "comment": null}, "pin_promotion_status": {"type": "text", "index": 29, "name": "pin_promotion_status", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 30, "name": "spend_in_micro_dollar", "comment": null}, "targeting_type": {"type": "text", "index": 31, "name": "targeting_type", "comment": null}, "targeting_value": {"type": "text", "index": 32, "name": "targeting_value", "comment": null}, "total_engagement": {"type": "integer", "index": 33, "name": "total_engagement", "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.pinterest_source_integration_tests.keyword_report_data"}, "seed.pinterest_source_integration_tests.pin_promotion_history_data": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "pin_promotion_history_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "ad_group_id": {"type": "bigint", "index": 2, "name": "ad_group_id", "comment": null}, "created_time": {"type": "text", "index": 3, "name": "created_time", "comment": null}, "destination_url": {"type": "text", "index": 4, "name": "destination_url", "comment": null}, "name": {"type": "text", "index": 5, "name": "name", "comment": null}, "pin_id": {"type": "bigint", "index": 6, "name": "pin_id", "comment": null}, "status": {"type": "text", "index": 7, "name": "status", "comment": null}, "creative_type": {"type": "text", "index": 8, "name": "creative_type", "comment": null}, "_fivetran_synced": {"type": "text", "index": 9, "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.pinterest_source_integration_tests.pin_promotion_history_data"}, "seed.pinterest_source_integration_tests.pin_promotion_report_data": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "pin_promotion_report_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"date": {"type": "text", "index": 1, "name": "date", "comment": null}, "pin_promotion_id": {"type": "bigint", "index": 2, "name": "pin_promotion_id", "comment": null}, "ad_group_id": {"type": "bigint", "index": 3, "name": "ad_group_id", "comment": null}, "campaign_id": {"type": "bigint", "index": 4, "name": "campaign_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 5, "name": "advertiser_id", "comment": null}, "_fivetran_synced": {"type": "text", "index": 6, "name": "_fivetran_synced", "comment": null}, "impression_1": {"type": "integer", "index": 7, "name": "impression_1", "comment": null}, "impression_2": {"type": "integer", "index": 8, "name": "impression_2", "comment": null}, "clickthrough_1": {"type": "integer", "index": 9, "name": "clickthrough_1", "comment": null}, "clickthrough_2": {"type": "integer", "index": 10, "name": "clickthrough_2", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 11, "name": "spend_in_micro_dollar", "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.pinterest_source_integration_tests.pin_promotion_report_data"}, "model.pinterest_source.stg_pinterest_ads__ad_group_history": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__ad_group_history", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"ad_group_id": {"type": "bigint", "index": 1, "name": "ad_group_id", "comment": null}, "ad_group_name": {"type": "text", "index": 2, "name": "ad_group_name", "comment": null}, "ad_group_status": {"type": "text", "index": 3, "name": "ad_group_status", "comment": null}, "_fivetran_synced": {"type": "text", "index": 4, "name": "_fivetran_synced", "comment": null}, "campaign_id": {"type": "bigint", "index": 5, "name": "campaign_id", "comment": null}, "created_at": {"type": "text", "index": 6, "name": "created_at", "comment": null}, "end_time": {"type": "integer", "index": 7, "name": "end_time", "comment": null}, "start_time": {"type": "text", "index": 8, "name": "start_time", "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.pinterest_source.stg_pinterest_ads__ad_group_history"}, "model.pinterest_source.stg_pinterest_ads__ad_group_history_tmp": {"metadata": {"type": "VIEW", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__ad_group_history_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "campaign_id": {"type": "bigint", "index": 2, "name": "campaign_id", "comment": null}, "created_time": {"type": "text", "index": 3, "name": "created_time", "comment": null}, "name": {"type": "text", "index": 4, "name": "name", "comment": null}, "status": {"type": "text", "index": 5, "name": "status", "comment": null}, "start_time": {"type": "text", "index": 6, "name": "start_time", "comment": null}, "end_time": {"type": "integer", "index": 7, "name": "end_time", "comment": null}, "_fivetran_synced": {"type": "text", "index": 8, "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.pinterest_source.stg_pinterest_ads__ad_group_history_tmp"}, "model.pinterest_source.stg_pinterest_ads__ad_group_report": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__ad_group_report", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"date_day": {"type": "timestamp without time zone", "index": 1, "name": "date_day", "comment": null}, "ad_group_id": {"type": "bigint", "index": 2, "name": "ad_group_id", "comment": null}, "ad_group_name": {"type": "text", "index": 3, "name": "ad_group_name", "comment": null}, "ad_group_status": {"type": "text", "index": 4, "name": "ad_group_status", "comment": null}, "campaign_id": {"type": "bigint", "index": 5, "name": "campaign_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 6, "name": "advertiser_id", "comment": null}, "impressions": {"type": "integer", "index": 7, "name": "impressions", "comment": null}, "clicks": {"type": "integer", "index": 8, "name": "clicks", "comment": null}, "spend": {"type": "numeric", "index": 9, "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.pinterest_source.stg_pinterest_ads__ad_group_report"}, "model.pinterest_source.stg_pinterest_ads__ad_group_report_tmp": {"metadata": {"type": "VIEW", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__ad_group_report_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"ad_group_id": {"type": "bigint", "index": 1, "name": "ad_group_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 2, "name": "advertiser_id", "comment": null}, "date": {"type": "timestamp without time zone", "index": 3, "name": "date", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 4, "name": "_fivetran_synced", "comment": null}, "ad_group_name": {"type": "text", "index": 5, "name": "ad_group_name", "comment": null}, "ad_group_status": {"type": "text", "index": 6, "name": "ad_group_status", "comment": null}, "campaign_daily_spend_cap": {"type": "integer", "index": 7, "name": "campaign_daily_spend_cap", "comment": null}, "campaign_id": {"type": "bigint", "index": 8, "name": "campaign_id", "comment": null}, "campaign_lifetime_spend_cap": {"type": "integer", "index": 9, "name": "campaign_lifetime_spend_cap", "comment": null}, "campaign_name": {"type": "text", "index": 10, "name": "campaign_name", "comment": null}, "campaign_status": {"type": "text", "index": 11, "name": "campaign_status", "comment": null}, "clickthrough_1": {"type": "integer", "index": 12, "name": "clickthrough_1", "comment": null}, "clickthrough_1_gross": {"type": "integer", "index": 13, "name": "clickthrough_1_gross", "comment": null}, "cpc_in_micro_dollar": {"type": "double precision", "index": 14, "name": "cpc_in_micro_dollar", "comment": null}, "cpm_in_micro_dollar": {"type": "double precision", "index": 15, "name": "cpm_in_micro_dollar", "comment": null}, "ctr": {"type": "double precision", "index": 16, "name": "ctr", "comment": null}, "ecpc_in_micro_dollar": {"type": "double precision", "index": 17, "name": "ecpc_in_micro_dollar", "comment": null}, "ecpm_in_micro_dollar": {"type": "double precision", "index": 18, "name": "ecpm_in_micro_dollar", "comment": null}, "ectr": {"type": "double precision", "index": 19, "name": "ectr", "comment": null}, "engagement_1": {"type": "integer", "index": 20, "name": "engagement_1", "comment": null}, "impression_1": {"type": "integer", "index": 21, "name": "impression_1", "comment": null}, "impression_1_gross": {"type": "integer", "index": 22, "name": "impression_1_gross", "comment": null}, "outbound_click_1": {"type": "integer", "index": 23, "name": "outbound_click_1", "comment": null}, "paid_impression": {"type": "integer", "index": 24, "name": "paid_impression", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 25, "name": "spend_in_micro_dollar", "comment": null}, "total_engagement": {"type": "integer", "index": 26, "name": "total_engagement", "comment": null}, "total_impression_frequency": {"type": "double precision", "index": 27, "name": "total_impression_frequency", "comment": null}, "total_impression_user": {"type": "integer", "index": 28, "name": "total_impression_user", "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.pinterest_source.stg_pinterest_ads__ad_group_report_tmp"}, "model.pinterest_source.stg_pinterest_ads__advertiser_history": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__advertiser_history", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"advertiser_id": {"type": "bigint", "index": 1, "name": "advertiser_id", "comment": null}, "advertiser_name": {"type": "text", "index": 2, "name": "advertiser_name", "comment": null}, "advertiser_status": {"type": "text", "index": 3, "name": "advertiser_status", "comment": null}, "billing_profile_status": {"type": "text", "index": 4, "name": "billing_profile_status", "comment": null}, "billing_type": {"type": "text", "index": 5, "name": "billing_type", "comment": null}, "country": {"type": "text", "index": 6, "name": "country", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 7, "name": "created_at", "comment": null}, "currency_code": {"type": "text", "index": 8, "name": "currency_code", "comment": null}, "merchant_id": {"type": "integer", "index": 9, "name": "merchant_id", "comment": null}, "owner_user_id": {"type": "integer", "index": 10, "name": "owner_user_id", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 11, "name": "updated_at", "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.pinterest_source.stg_pinterest_ads__advertiser_history"}, "model.pinterest_source.stg_pinterest_ads__advertiser_history_tmp": {"metadata": {"type": "VIEW", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__advertiser_history_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "updated_time": {"type": "timestamp without time zone", "index": 2, "name": "updated_time", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "billing_profile_status": {"type": "text", "index": 4, "name": "billing_profile_status", "comment": null}, "billing_type": {"type": "text", "index": 5, "name": "billing_type", "comment": null}, "country": {"type": "text", "index": 6, "name": "country", "comment": null}, "created_time": {"type": "timestamp without time zone", "index": 7, "name": "created_time", "comment": null}, "currency": {"type": "text", "index": 8, "name": "currency", "comment": null}, "merchant_id": {"type": "integer", "index": 9, "name": "merchant_id", "comment": null}, "name": {"type": "text", "index": 10, "name": "name", "comment": null}, "owner_user_id": {"type": "integer", "index": 11, "name": "owner_user_id", "comment": null}, "status": {"type": "text", "index": 12, "name": "status", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.pinterest_source.stg_pinterest_ads__advertiser_history_tmp"}, "model.pinterest_source.stg_pinterest_ads__advertiser_report": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__advertiser_report", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"date_day": {"type": "timestamp without time zone", "index": 1, "name": "date_day", "comment": null}, "advertiser_id": {"type": "bigint", "index": 2, "name": "advertiser_id", "comment": null}, "impressions": {"type": "integer", "index": 3, "name": "impressions", "comment": null}, "clicks": {"type": "integer", "index": 4, "name": "clicks", "comment": null}, "spend": {"type": "numeric", "index": 5, "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.pinterest_source.stg_pinterest_ads__advertiser_report"}, "model.pinterest_source.stg_pinterest_ads__advertiser_report_tmp": {"metadata": {"type": "VIEW", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__advertiser_report_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"advertiser_id": {"type": "bigint", "index": 1, "name": "advertiser_id", "comment": null}, "date": {"type": "timestamp without time zone", "index": 2, "name": "date", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "clickthrough_1": {"type": "integer", "index": 4, "name": "clickthrough_1", "comment": null}, "clickthrough_1_gross": {"type": "integer", "index": 5, "name": "clickthrough_1_gross", "comment": null}, "cpc_in_micro_dollar": {"type": "double precision", "index": 6, "name": "cpc_in_micro_dollar", "comment": null}, "cpm_in_micro_dollar": {"type": "double precision", "index": 7, "name": "cpm_in_micro_dollar", "comment": null}, "ctr": {"type": "double precision", "index": 8, "name": "ctr", "comment": null}, "ecpc_in_micro_dollar": {"type": "double precision", "index": 9, "name": "ecpc_in_micro_dollar", "comment": null}, "ecpm_in_micro_dollar": {"type": "double precision", "index": 10, "name": "ecpm_in_micro_dollar", "comment": null}, "ectr": {"type": "double precision", "index": 11, "name": "ectr", "comment": null}, "engagement_1": {"type": "integer", "index": 12, "name": "engagement_1", "comment": null}, "impression_1": {"type": "integer", "index": 13, "name": "impression_1", "comment": null}, "impression_1_gross": {"type": "integer", "index": 14, "name": "impression_1_gross", "comment": null}, "outbound_click_1": {"type": "integer", "index": 15, "name": "outbound_click_1", "comment": null}, "paid_impression": {"type": "integer", "index": 16, "name": "paid_impression", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 17, "name": "spend_in_micro_dollar", "comment": null}, "total_engagement": {"type": "integer", "index": 18, "name": "total_engagement", "comment": null}, "total_impression_frequency": {"type": "double precision", "index": 19, "name": "total_impression_frequency", "comment": null}, "total_impression_user": {"type": "integer", "index": 20, "name": "total_impression_user", "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.pinterest_source.stg_pinterest_ads__advertiser_report_tmp"}, "model.pinterest_source.stg_pinterest_ads__campaign_history": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__campaign_history", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"campaign_id": {"type": "bigint", "index": 1, "name": "campaign_id", "comment": null}, "campaign_name": {"type": "text", "index": 2, "name": "campaign_name", "comment": null}, "advertiser_id": {"type": "bigint", "index": 3, "name": "advertiser_id", "comment": null}, "campaign_status": {"type": "text", "index": 4, "name": "campaign_status", "comment": null}, "_fivetran_synced": {"type": "text", "index": 5, "name": "_fivetran_synced", "comment": null}, "created_at": {"type": "text", "index": 6, "name": "created_at", "comment": null}, "is_most_recent_record": {"type": "boolean", "index": 7, "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.pinterest_source.stg_pinterest_ads__campaign_history"}, "model.pinterest_source.stg_pinterest_ads__campaign_history_tmp": {"metadata": {"type": "VIEW", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__campaign_history_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "created_time": {"type": "text", "index": 2, "name": "created_time", "comment": null}, "name": {"type": "text", "index": 3, "name": "name", "comment": null}, "status": {"type": "text", "index": 4, "name": "status", "comment": null}, "_fivetran_synced": {"type": "text", "index": 5, "name": "_fivetran_synced", "comment": null}, "advertiser_id": {"type": "bigint", "index": 6, "name": "advertiser_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.pinterest_source.stg_pinterest_ads__campaign_history_tmp"}, "model.pinterest_source.stg_pinterest_ads__campaign_report": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__campaign_report", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"date_day": {"type": "timestamp without time zone", "index": 1, "name": "date_day", "comment": null}, "campaign_id": {"type": "bigint", "index": 2, "name": "campaign_id", "comment": null}, "campaign_name": {"type": "text", "index": 3, "name": "campaign_name", "comment": null}, "campaign_status": {"type": "text", "index": 4, "name": "campaign_status", "comment": null}, "advertiser_id": {"type": "bigint", "index": 5, "name": "advertiser_id", "comment": null}, "impressions": {"type": "integer", "index": 6, "name": "impressions", "comment": null}, "clicks": {"type": "integer", "index": 7, "name": "clicks", "comment": null}, "spend": {"type": "numeric", "index": 8, "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.pinterest_source.stg_pinterest_ads__campaign_report"}, "model.pinterest_source.stg_pinterest_ads__campaign_report_tmp": {"metadata": {"type": "VIEW", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__campaign_report_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"advertiser_id": {"type": "bigint", "index": 1, "name": "advertiser_id", "comment": null}, "campaign_id": {"type": "bigint", "index": 2, "name": "campaign_id", "comment": null}, "date": {"type": "timestamp without time zone", "index": 3, "name": "date", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 4, "name": "_fivetran_synced", "comment": null}, "campaign_daily_spend_cap": {"type": "integer", "index": 5, "name": "campaign_daily_spend_cap", "comment": null}, "campaign_lifetime_spend_cap": {"type": "integer", "index": 6, "name": "campaign_lifetime_spend_cap", "comment": null}, "campaign_name": {"type": "text", "index": 7, "name": "campaign_name", "comment": null}, "campaign_status": {"type": "text", "index": 8, "name": "campaign_status", "comment": null}, "clickthrough_1": {"type": "integer", "index": 9, "name": "clickthrough_1", "comment": null}, "clickthrough_1_gross": {"type": "integer", "index": 10, "name": "clickthrough_1_gross", "comment": null}, "cpc_in_micro_dollar": {"type": "double precision", "index": 11, "name": "cpc_in_micro_dollar", "comment": null}, "cpm_in_micro_dollar": {"type": "double precision", "index": 12, "name": "cpm_in_micro_dollar", "comment": null}, "ctr": {"type": "double precision", "index": 13, "name": "ctr", "comment": null}, "ecpc_in_micro_dollar": {"type": "double precision", "index": 14, "name": "ecpc_in_micro_dollar", "comment": null}, "ecpm_in_micro_dollar": {"type": "double precision", "index": 15, "name": "ecpm_in_micro_dollar", "comment": null}, "ectr": {"type": "double precision", "index": 16, "name": "ectr", "comment": null}, "engagement_1": {"type": "integer", "index": 17, "name": "engagement_1", "comment": null}, "impression_1": {"type": "integer", "index": 18, "name": "impression_1", "comment": null}, "impression_1_gross": {"type": "integer", "index": 19, "name": "impression_1_gross", "comment": null}, "outbound_click_1": {"type": "integer", "index": 20, "name": "outbound_click_1", "comment": null}, "paid_impression": {"type": "integer", "index": 21, "name": "paid_impression", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 22, "name": "spend_in_micro_dollar", "comment": null}, "total_engagement": {"type": "integer", "index": 23, "name": "total_engagement", "comment": null}, "total_impression_frequency": {"type": "double precision", "index": 24, "name": "total_impression_frequency", "comment": null}, "total_impression_user": {"type": "integer", "index": 25, "name": "total_impression_user", "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.pinterest_source.stg_pinterest_ads__campaign_report_tmp"}, "model.pinterest_source.stg_pinterest_ads__keyword_history": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__keyword_history", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"keyword_id": {"type": "bigint", "index": 1, "name": "keyword_id", "comment": null}, "keyword_value": {"type": "text", "index": 2, "name": "keyword_value", "comment": null}, "_fivetran_id": {"type": "text", "index": 3, "name": "_fivetran_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 4, "name": "_fivetran_synced", "comment": null}, "ad_group_id": {"type": "bigint", "index": 5, "name": "ad_group_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 6, "name": "advertiser_id", "comment": null}, "archived": {"type": "boolean", "index": 7, "name": "archived", "comment": null}, "bid": {"type": "integer", "index": 8, "name": "bid", "comment": null}, "campaign_id": {"type": "bigint", "index": 9, "name": "campaign_id", "comment": null}, "match_type": {"type": "text", "index": 10, "name": "match_type", "comment": null}, "parent_type": {"type": "text", "index": 11, "name": "parent_type", "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.pinterest_source.stg_pinterest_ads__keyword_history"}, "model.pinterest_source.stg_pinterest_ads__keyword_history_tmp": {"metadata": {"type": "VIEW", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__keyword_history_tmp", "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}, "ad_group_id": {"type": "bigint", "index": 3, "name": "ad_group_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 4, "name": "advertiser_id", "comment": null}, "archived": {"type": "boolean", "index": 5, "name": "archived", "comment": null}, "bid": {"type": "integer", "index": 6, "name": "bid", "comment": null}, "campaign_id": {"type": "bigint", "index": 7, "name": "campaign_id", "comment": null}, "id": {"type": "bigint", "index": 8, "name": "id", "comment": null}, "match_type": {"type": "text", "index": 9, "name": "match_type", "comment": null}, "parent_type": {"type": "text", "index": 10, "name": "parent_type", "comment": null}, "value": {"type": "text", "index": 11, "name": "value", "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.pinterest_source.stg_pinterest_ads__keyword_history_tmp"}, "model.pinterest_source.stg_pinterest_ads__keyword_report": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__keyword_report", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"date_day": {"type": "timestamp without time zone", "index": 1, "name": "date_day", "comment": null}, "keyword_id": {"type": "bigint", "index": 2, "name": "keyword_id", "comment": null}, "pin_promotion_id": {"type": "bigint", "index": 3, "name": "pin_promotion_id", "comment": null}, "ad_group_id": {"type": "bigint", "index": 4, "name": "ad_group_id", "comment": null}, "ad_group_name": {"type": "text", "index": 5, "name": "ad_group_name", "comment": null}, "ad_group_status": {"type": "text", "index": 6, "name": "ad_group_status", "comment": null}, "campaign_id": {"type": "bigint", "index": 7, "name": "campaign_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 8, "name": "advertiser_id", "comment": null}, "impressions": {"type": "integer", "index": 9, "name": "impressions", "comment": null}, "clicks": {"type": "integer", "index": 10, "name": "clicks", "comment": null}, "spend": {"type": "numeric", "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.pinterest_source.stg_pinterest_ads__keyword_report"}, "model.pinterest_source.stg_pinterest_ads__keyword_report_tmp": {"metadata": {"type": "VIEW", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__keyword_report_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"ad_group_id": {"type": "bigint", "index": 1, "name": "ad_group_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 2, "name": "advertiser_id", "comment": null}, "campaign_id": {"type": "bigint", "index": 3, "name": "campaign_id", "comment": null}, "date": {"type": "timestamp without time zone", "index": 4, "name": "date", "comment": null}, "keyword_id": {"type": "bigint", "index": 5, "name": "keyword_id", "comment": null}, "pin_id": {"type": "bigint", "index": 6, "name": "pin_id", "comment": null}, "pin_promotion_id": {"type": "bigint", "index": 7, "name": "pin_promotion_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 8, "name": "_fivetran_synced", "comment": null}, "ad_group_name": {"type": "text", "index": 9, "name": "ad_group_name", "comment": null}, "ad_group_status": {"type": "text", "index": 10, "name": "ad_group_status", "comment": null}, "campaign_daily_spend_cap": {"type": "integer", "index": 11, "name": "campaign_daily_spend_cap", "comment": null}, "campaign_lifetime_spend_cap": {"type": "integer", "index": 12, "name": "campaign_lifetime_spend_cap", "comment": null}, "campaign_name": {"type": "text", "index": 13, "name": "campaign_name", "comment": null}, "campaign_status": {"type": "text", "index": 14, "name": "campaign_status", "comment": null}, "clickthrough_1": {"type": "integer", "index": 15, "name": "clickthrough_1", "comment": null}, "clickthrough_1_gross": {"type": "integer", "index": 16, "name": "clickthrough_1_gross", "comment": null}, "cpc_in_micro_dollar": {"type": "integer", "index": 17, "name": "cpc_in_micro_dollar", "comment": null}, "cpm_in_micro_dollar": {"type": "double precision", "index": 18, "name": "cpm_in_micro_dollar", "comment": null}, "ctr": {"type": "integer", "index": 19, "name": "ctr", "comment": null}, "ecpc_in_micro_dollar": {"type": "integer", "index": 20, "name": "ecpc_in_micro_dollar", "comment": null}, "ecpm_in_micro_dollar": {"type": "double precision", "index": 21, "name": "ecpm_in_micro_dollar", "comment": null}, "ectr": {"type": "integer", "index": 22, "name": "ectr", "comment": null}, "engagement_1": {"type": "integer", "index": 23, "name": "engagement_1", "comment": null}, "impression_1": {"type": "integer", "index": 24, "name": "impression_1", "comment": null}, "impression_1_gross": {"type": "integer", "index": 25, "name": "impression_1_gross", "comment": null}, "outbound_click_1": {"type": "integer", "index": 26, "name": "outbound_click_1", "comment": null}, "paid_impression": {"type": "integer", "index": 27, "name": "paid_impression", "comment": null}, "pin_promotion_name": {"type": "text", "index": 28, "name": "pin_promotion_name", "comment": null}, "pin_promotion_status": {"type": "text", "index": 29, "name": "pin_promotion_status", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 30, "name": "spend_in_micro_dollar", "comment": null}, "targeting_type": {"type": "text", "index": 31, "name": "targeting_type", "comment": null}, "targeting_value": {"type": "text", "index": 32, "name": "targeting_value", "comment": null}, "total_engagement": {"type": "integer", "index": 33, "name": "total_engagement", "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.pinterest_source.stg_pinterest_ads__keyword_report_tmp"}, "model.pinterest_source.stg_pinterest_ads__pin_promotion_history": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__pin_promotion_history", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"pin_promotion_id": {"type": "bigint", "index": 1, "name": "pin_promotion_id", "comment": null}, "ad_group_id": {"type": "bigint", "index": 2, "name": "ad_group_id", "comment": null}, "created_at": {"type": "text", "index": 3, "name": "created_at", "comment": null}, "destination_url": {"type": "text", "index": 4, "name": "destination_url", "comment": null}, "base_url": {"type": "text", "index": 5, "name": "base_url", "comment": null}, "url_host": {"type": "character varying", "index": 6, "name": "url_host", "comment": null}, "url_path": {"type": "text", "index": 7, "name": "url_path", "comment": null}, "utm_source": {"type": "text", "index": 8, "name": "utm_source", "comment": null}, "utm_medium": {"type": "text", "index": 9, "name": "utm_medium", "comment": null}, "utm_campaign": {"type": "text", "index": 10, "name": "utm_campaign", "comment": null}, "utm_content": {"type": "text", "index": 11, "name": "utm_content", "comment": null}, "utm_term": {"type": "text", "index": 12, "name": "utm_term", "comment": null}, "pin_name": {"type": "text", "index": 13, "name": "pin_name", "comment": null}, "pin_id": {"type": "bigint", "index": 14, "name": "pin_id", "comment": null}, "pin_status": {"type": "text", "index": 15, "name": "pin_status", "comment": null}, "creative_type": {"type": "text", "index": 16, "name": "creative_type", "comment": null}, "_fivetran_synced": {"type": "text", "index": 17, "name": "_fivetran_synced", "comment": null}, "is_most_recent_record": {"type": "boolean", "index": 18, "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.pinterest_source.stg_pinterest_ads__pin_promotion_history"}, "model.pinterest_source.stg_pinterest_ads__pin_promotion_history_tmp": {"metadata": {"type": "VIEW", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__pin_promotion_history_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "ad_group_id": {"type": "bigint", "index": 2, "name": "ad_group_id", "comment": null}, "created_time": {"type": "text", "index": 3, "name": "created_time", "comment": null}, "destination_url": {"type": "text", "index": 4, "name": "destination_url", "comment": null}, "name": {"type": "text", "index": 5, "name": "name", "comment": null}, "pin_id": {"type": "bigint", "index": 6, "name": "pin_id", "comment": null}, "status": {"type": "text", "index": 7, "name": "status", "comment": null}, "creative_type": {"type": "text", "index": 8, "name": "creative_type", "comment": null}, "_fivetran_synced": {"type": "text", "index": 9, "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.pinterest_source.stg_pinterest_ads__pin_promotion_history_tmp"}, "model.pinterest_source.stg_pinterest_ads__pin_promotion_report": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__pin_promotion_report", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"date_day": {"type": "text", "index": 1, "name": "date_day", "comment": null}, "pin_promotion_id": {"type": "bigint", "index": 2, "name": "pin_promotion_id", "comment": null}, "ad_group_id": {"type": "bigint", "index": 3, "name": "ad_group_id", "comment": null}, "campaign_id": {"type": "bigint", "index": 4, "name": "campaign_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 5, "name": "advertiser_id", "comment": null}, "impressions": {"type": "integer", "index": 6, "name": "impressions", "comment": null}, "clicks": {"type": "integer", "index": 7, "name": "clicks", "comment": null}, "spend": {"type": "numeric", "index": 8, "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.pinterest_source.stg_pinterest_ads__pin_promotion_report"}, "model.pinterest_source.stg_pinterest_ads__pin_promotion_report_tmp": {"metadata": {"type": "VIEW", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__pin_promotion_report_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"date": {"type": "text", "index": 1, "name": "date", "comment": null}, "pin_promotion_id": {"type": "bigint", "index": 2, "name": "pin_promotion_id", "comment": null}, "ad_group_id": {"type": "bigint", "index": 3, "name": "ad_group_id", "comment": null}, "campaign_id": {"type": "bigint", "index": 4, "name": "campaign_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 5, "name": "advertiser_id", "comment": null}, "_fivetran_synced": {"type": "text", "index": 6, "name": "_fivetran_synced", "comment": null}, "impression_1": {"type": "integer", "index": 7, "name": "impression_1", "comment": null}, "impression_2": {"type": "integer", "index": 8, "name": "impression_2", "comment": null}, "clickthrough_1": {"type": "integer", "index": 9, "name": "clickthrough_1", "comment": null}, "clickthrough_2": {"type": "integer", "index": 10, "name": "clickthrough_2", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 11, "name": "spend_in_micro_dollar", "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.pinterest_source.stg_pinterest_ads__pin_promotion_report_tmp"}}, "sources": {"source.pinterest_source.pinterest_ads.ad_group_history": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "ad_group_history_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "campaign_id": {"type": "bigint", "index": 2, "name": "campaign_id", "comment": null}, "created_time": {"type": "text", "index": 3, "name": "created_time", "comment": null}, "name": {"type": "text", "index": 4, "name": "name", "comment": null}, "status": {"type": "text", "index": 5, "name": "status", "comment": null}, "start_time": {"type": "text", "index": 6, "name": "start_time", "comment": null}, "end_time": {"type": "integer", "index": 7, "name": "end_time", "comment": null}, "_fivetran_synced": {"type": "text", "index": 8, "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.pinterest_source.pinterest_ads.ad_group_history"}, "source.pinterest_source.pinterest_ads.ad_group_report": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "ad_group_report_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"ad_group_id": {"type": "bigint", "index": 1, "name": "ad_group_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 2, "name": "advertiser_id", "comment": null}, "date": {"type": "timestamp without time zone", "index": 3, "name": "date", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 4, "name": "_fivetran_synced", "comment": null}, "ad_group_name": {"type": "text", "index": 5, "name": "ad_group_name", "comment": null}, "ad_group_status": {"type": "text", "index": 6, "name": "ad_group_status", "comment": null}, "campaign_daily_spend_cap": {"type": "integer", "index": 7, "name": "campaign_daily_spend_cap", "comment": null}, "campaign_id": {"type": "bigint", "index": 8, "name": "campaign_id", "comment": null}, "campaign_lifetime_spend_cap": {"type": "integer", "index": 9, "name": "campaign_lifetime_spend_cap", "comment": null}, "campaign_name": {"type": "text", "index": 10, "name": "campaign_name", "comment": null}, "campaign_status": {"type": "text", "index": 11, "name": "campaign_status", "comment": null}, "clickthrough_1": {"type": "integer", "index": 12, "name": "clickthrough_1", "comment": null}, "clickthrough_1_gross": {"type": "integer", "index": 13, "name": "clickthrough_1_gross", "comment": null}, "cpc_in_micro_dollar": {"type": "double precision", "index": 14, "name": "cpc_in_micro_dollar", "comment": null}, "cpm_in_micro_dollar": {"type": "double precision", "index": 15, "name": "cpm_in_micro_dollar", "comment": null}, "ctr": {"type": "double precision", "index": 16, "name": "ctr", "comment": null}, "ecpc_in_micro_dollar": {"type": "double precision", "index": 17, "name": "ecpc_in_micro_dollar", "comment": null}, "ecpm_in_micro_dollar": {"type": "double precision", "index": 18, "name": "ecpm_in_micro_dollar", "comment": null}, "ectr": {"type": "double precision", "index": 19, "name": "ectr", "comment": null}, "engagement_1": {"type": "integer", "index": 20, "name": "engagement_1", "comment": null}, "impression_1": {"type": "integer", "index": 21, "name": "impression_1", "comment": null}, "impression_1_gross": {"type": "integer", "index": 22, "name": "impression_1_gross", "comment": null}, "outbound_click_1": {"type": "integer", "index": 23, "name": "outbound_click_1", "comment": null}, "paid_impression": {"type": "integer", "index": 24, "name": "paid_impression", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 25, "name": "spend_in_micro_dollar", "comment": null}, "total_engagement": {"type": "integer", "index": 26, "name": "total_engagement", "comment": null}, "total_impression_frequency": {"type": "double precision", "index": 27, "name": "total_impression_frequency", "comment": null}, "total_impression_user": {"type": "integer", "index": 28, "name": "total_impression_user", "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.pinterest_source.pinterest_ads.ad_group_report"}, "source.pinterest_source.pinterest_ads.advertiser_history": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "advertiser_history_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "updated_time": {"type": "timestamp without time zone", "index": 2, "name": "updated_time", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "billing_profile_status": {"type": "text", "index": 4, "name": "billing_profile_status", "comment": null}, "billing_type": {"type": "text", "index": 5, "name": "billing_type", "comment": null}, "country": {"type": "text", "index": 6, "name": "country", "comment": null}, "created_time": {"type": "timestamp without time zone", "index": 7, "name": "created_time", "comment": null}, "currency": {"type": "text", "index": 8, "name": "currency", "comment": null}, "merchant_id": {"type": "integer", "index": 9, "name": "merchant_id", "comment": null}, "name": {"type": "text", "index": 10, "name": "name", "comment": null}, "owner_user_id": {"type": "integer", "index": 11, "name": "owner_user_id", "comment": null}, "status": {"type": "text", "index": 12, "name": "status", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.pinterest_source.pinterest_ads.advertiser_history"}, "source.pinterest_source.pinterest_ads.advertiser_report": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "advertiser_report_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"advertiser_id": {"type": "bigint", "index": 1, "name": "advertiser_id", "comment": null}, "date": {"type": "timestamp without time zone", "index": 2, "name": "date", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "clickthrough_1": {"type": "integer", "index": 4, "name": "clickthrough_1", "comment": null}, "clickthrough_1_gross": {"type": "integer", "index": 5, "name": "clickthrough_1_gross", "comment": null}, "cpc_in_micro_dollar": {"type": "double precision", "index": 6, "name": "cpc_in_micro_dollar", "comment": null}, "cpm_in_micro_dollar": {"type": "double precision", "index": 7, "name": "cpm_in_micro_dollar", "comment": null}, "ctr": {"type": "double precision", "index": 8, "name": "ctr", "comment": null}, "ecpc_in_micro_dollar": {"type": "double precision", "index": 9, "name": "ecpc_in_micro_dollar", "comment": null}, "ecpm_in_micro_dollar": {"type": "double precision", "index": 10, "name": "ecpm_in_micro_dollar", "comment": null}, "ectr": {"type": "double precision", "index": 11, "name": "ectr", "comment": null}, "engagement_1": {"type": "integer", "index": 12, "name": "engagement_1", "comment": null}, "impression_1": {"type": "integer", "index": 13, "name": "impression_1", "comment": null}, "impression_1_gross": {"type": "integer", "index": 14, "name": "impression_1_gross", "comment": null}, "outbound_click_1": {"type": "integer", "index": 15, "name": "outbound_click_1", "comment": null}, "paid_impression": {"type": "integer", "index": 16, "name": "paid_impression", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 17, "name": "spend_in_micro_dollar", "comment": null}, "total_engagement": {"type": "integer", "index": 18, "name": "total_engagement", "comment": null}, "total_impression_frequency": {"type": "double precision", "index": 19, "name": "total_impression_frequency", "comment": null}, "total_impression_user": {"type": "integer", "index": 20, "name": "total_impression_user", "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.pinterest_source.pinterest_ads.advertiser_report"}, "source.pinterest_source.pinterest_ads.campaign_history": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "campaign_history_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "created_time": {"type": "text", "index": 2, "name": "created_time", "comment": null}, "name": {"type": "text", "index": 3, "name": "name", "comment": null}, "status": {"type": "text", "index": 4, "name": "status", "comment": null}, "_fivetran_synced": {"type": "text", "index": 5, "name": "_fivetran_synced", "comment": null}, "advertiser_id": {"type": "bigint", "index": 6, "name": "advertiser_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.pinterest_source.pinterest_ads.campaign_history"}, "source.pinterest_source.pinterest_ads.campaign_report": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "campaign_report_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"advertiser_id": {"type": "bigint", "index": 1, "name": "advertiser_id", "comment": null}, "campaign_id": {"type": "bigint", "index": 2, "name": "campaign_id", "comment": null}, "date": {"type": "timestamp without time zone", "index": 3, "name": "date", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 4, "name": "_fivetran_synced", "comment": null}, "campaign_daily_spend_cap": {"type": "integer", "index": 5, "name": "campaign_daily_spend_cap", "comment": null}, "campaign_lifetime_spend_cap": {"type": "integer", "index": 6, "name": "campaign_lifetime_spend_cap", "comment": null}, "campaign_name": {"type": "text", "index": 7, "name": "campaign_name", "comment": null}, "campaign_status": {"type": "text", "index": 8, "name": "campaign_status", "comment": null}, "clickthrough_1": {"type": "integer", "index": 9, "name": "clickthrough_1", "comment": null}, "clickthrough_1_gross": {"type": "integer", "index": 10, "name": "clickthrough_1_gross", "comment": null}, "cpc_in_micro_dollar": {"type": "double precision", "index": 11, "name": "cpc_in_micro_dollar", "comment": null}, "cpm_in_micro_dollar": {"type": "double precision", "index": 12, "name": "cpm_in_micro_dollar", "comment": null}, "ctr": {"type": "double precision", "index": 13, "name": "ctr", "comment": null}, "ecpc_in_micro_dollar": {"type": "double precision", "index": 14, "name": "ecpc_in_micro_dollar", "comment": null}, "ecpm_in_micro_dollar": {"type": "double precision", "index": 15, "name": "ecpm_in_micro_dollar", "comment": null}, "ectr": {"type": "double precision", "index": 16, "name": "ectr", "comment": null}, "engagement_1": {"type": "integer", "index": 17, "name": "engagement_1", "comment": null}, "impression_1": {"type": "integer", "index": 18, "name": "impression_1", "comment": null}, "impression_1_gross": {"type": "integer", "index": 19, "name": "impression_1_gross", "comment": null}, "outbound_click_1": {"type": "integer", "index": 20, "name": "outbound_click_1", "comment": null}, "paid_impression": {"type": "integer", "index": 21, "name": "paid_impression", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 22, "name": "spend_in_micro_dollar", "comment": null}, "total_engagement": {"type": "integer", "index": 23, "name": "total_engagement", "comment": null}, "total_impression_frequency": {"type": "double precision", "index": 24, "name": "total_impression_frequency", "comment": null}, "total_impression_user": {"type": "integer", "index": 25, "name": "total_impression_user", "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.pinterest_source.pinterest_ads.campaign_report"}, "source.pinterest_source.pinterest_ads.keyword_history": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "keyword_history_data", "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}, "ad_group_id": {"type": "bigint", "index": 3, "name": "ad_group_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 4, "name": "advertiser_id", "comment": null}, "archived": {"type": "boolean", "index": 5, "name": "archived", "comment": null}, "bid": {"type": "integer", "index": 6, "name": "bid", "comment": null}, "campaign_id": {"type": "bigint", "index": 7, "name": "campaign_id", "comment": null}, "id": {"type": "bigint", "index": 8, "name": "id", "comment": null}, "match_type": {"type": "text", "index": 9, "name": "match_type", "comment": null}, "parent_type": {"type": "text", "index": 10, "name": "parent_type", "comment": null}, "value": {"type": "text", "index": 11, "name": "value", "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.pinterest_source.pinterest_ads.keyword_history"}, "source.pinterest_source.pinterest_ads.keyword_report": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "keyword_report_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"ad_group_id": {"type": "bigint", "index": 1, "name": "ad_group_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 2, "name": "advertiser_id", "comment": null}, "campaign_id": {"type": "bigint", "index": 3, "name": "campaign_id", "comment": null}, "date": {"type": "timestamp without time zone", "index": 4, "name": "date", "comment": null}, "keyword_id": {"type": "bigint", "index": 5, "name": "keyword_id", "comment": null}, "pin_id": {"type": "bigint", "index": 6, "name": "pin_id", "comment": null}, "pin_promotion_id": {"type": "bigint", "index": 7, "name": "pin_promotion_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 8, "name": "_fivetran_synced", "comment": null}, "ad_group_name": {"type": "text", "index": 9, "name": "ad_group_name", "comment": null}, "ad_group_status": {"type": "text", "index": 10, "name": "ad_group_status", "comment": null}, "campaign_daily_spend_cap": {"type": "integer", "index": 11, "name": "campaign_daily_spend_cap", "comment": null}, "campaign_lifetime_spend_cap": {"type": "integer", "index": 12, "name": "campaign_lifetime_spend_cap", "comment": null}, "campaign_name": {"type": "text", "index": 13, "name": "campaign_name", "comment": null}, "campaign_status": {"type": "text", "index": 14, "name": "campaign_status", "comment": null}, "clickthrough_1": {"type": "integer", "index": 15, "name": "clickthrough_1", "comment": null}, "clickthrough_1_gross": {"type": "integer", "index": 16, "name": "clickthrough_1_gross", "comment": null}, "cpc_in_micro_dollar": {"type": "integer", "index": 17, "name": "cpc_in_micro_dollar", "comment": null}, "cpm_in_micro_dollar": {"type": "double precision", "index": 18, "name": "cpm_in_micro_dollar", "comment": null}, "ctr": {"type": "integer", "index": 19, "name": "ctr", "comment": null}, "ecpc_in_micro_dollar": {"type": "integer", "index": 20, "name": "ecpc_in_micro_dollar", "comment": null}, "ecpm_in_micro_dollar": {"type": "double precision", "index": 21, "name": "ecpm_in_micro_dollar", "comment": null}, "ectr": {"type": "integer", "index": 22, "name": "ectr", "comment": null}, "engagement_1": {"type": "integer", "index": 23, "name": "engagement_1", "comment": null}, "impression_1": {"type": "integer", "index": 24, "name": "impression_1", "comment": null}, "impression_1_gross": {"type": "integer", "index": 25, "name": "impression_1_gross", "comment": null}, "outbound_click_1": {"type": "integer", "index": 26, "name": "outbound_click_1", "comment": null}, "paid_impression": {"type": "integer", "index": 27, "name": "paid_impression", "comment": null}, "pin_promotion_name": {"type": "text", "index": 28, "name": "pin_promotion_name", "comment": null}, "pin_promotion_status": {"type": "text", "index": 29, "name": "pin_promotion_status", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 30, "name": "spend_in_micro_dollar", "comment": null}, "targeting_type": {"type": "text", "index": 31, "name": "targeting_type", "comment": null}, "targeting_value": {"type": "text", "index": 32, "name": "targeting_value", "comment": null}, "total_engagement": {"type": "integer", "index": 33, "name": "total_engagement", "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.pinterest_source.pinterest_ads.keyword_report"}, "source.pinterest_source.pinterest_ads.pin_promotion_history": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "pin_promotion_history_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "ad_group_id": {"type": "bigint", "index": 2, "name": "ad_group_id", "comment": null}, "created_time": {"type": "text", "index": 3, "name": "created_time", "comment": null}, "destination_url": {"type": "text", "index": 4, "name": "destination_url", "comment": null}, "name": {"type": "text", "index": 5, "name": "name", "comment": null}, "pin_id": {"type": "bigint", "index": 6, "name": "pin_id", "comment": null}, "status": {"type": "text", "index": 7, "name": "status", "comment": null}, "creative_type": {"type": "text", "index": 8, "name": "creative_type", "comment": null}, "_fivetran_synced": {"type": "text", "index": 9, "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.pinterest_source.pinterest_ads.pin_promotion_history"}, "source.pinterest_source.pinterest_ads.pin_promotion_report": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "pin_promotion_report_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"date": {"type": "text", "index": 1, "name": "date", "comment": null}, "pin_promotion_id": {"type": "bigint", "index": 2, "name": "pin_promotion_id", "comment": null}, "ad_group_id": {"type": "bigint", "index": 3, "name": "ad_group_id", "comment": null}, "campaign_id": {"type": "bigint", "index": 4, "name": "campaign_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 5, "name": "advertiser_id", "comment": null}, "_fivetran_synced": {"type": "text", "index": 6, "name": "_fivetran_synced", "comment": null}, "impression_1": {"type": "integer", "index": 7, "name": "impression_1", "comment": null}, "impression_2": {"type": "integer", "index": 8, "name": "impression_2", "comment": null}, "clickthrough_1": {"type": "integer", "index": 9, "name": "clickthrough_1", "comment": null}, "clickthrough_2": {"type": "integer", "index": 10, "name": "clickthrough_2", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 11, "name": "spend_in_micro_dollar", "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.pinterest_source.pinterest_ads.pin_promotion_report"}}, "errors": null} \ No newline at end of file diff --git a/docs/manifest.json b/docs/manifest.json index 65c34ec..953c015 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-06-30T22:37:00.174502Z", "invocation_id": "12ea8e79-f696-403e-91ac-676ccc0e54b3", "env": {}, "project_id": "0c5e93f26aaf82565f2c06106a3cb878", "user_id": "8929baf0-9bc1-477e-9a57-eb8b0db4da62", "send_anonymous_usage_stats": true, "adapter_type": "postgres"}, "nodes": {"seed.pinterest_source_integration_tests.ad_group_report_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", "campaign_id": "bigint", "ad_group_id": "bigint", "pin_id": "bigint", "advertiser_id": "bigint", "pin_promotion_id": "bigint", "keyword_id": "bigint"}, "full_refresh": null, "on_schema_change": "ignore", "quote_columns": true, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "pinterest_source_integration_tests", "fqn": ["pinterest_source_integration_tests", "ad_group_report_data"], "unique_id": "seed.pinterest_source_integration_tests.ad_group_report_data", "package_name": "pinterest_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests", "path": "ad_group_report_data.csv", "original_file_path": "seeds/ad_group_report_data.csv", "name": "ad_group_report_data", "alias": "ad_group_report_data", "checksum": {"name": "sha256", "checksum": "e97c0744fe3e48bcc4f9016c719b37f08e7cf5d2eed93805e0d54678df283662"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type in ('redshift','postgres') else false }}", "column_types": {"id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "ad_group_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "advertiser_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_promotion_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "keyword_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}"}}, "created_at": 1656628609.951689, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"ad_group_report_data\""}, "seed.pinterest_source_integration_tests.keyword_report_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", "campaign_id": "bigint", "ad_group_id": "bigint", "pin_id": "bigint", "advertiser_id": "bigint", "pin_promotion_id": "bigint", "keyword_id": "bigint"}, "full_refresh": null, "on_schema_change": "ignore", "quote_columns": true, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "pinterest_source_integration_tests", "fqn": ["pinterest_source_integration_tests", "keyword_report_data"], "unique_id": "seed.pinterest_source_integration_tests.keyword_report_data", "package_name": "pinterest_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests", "path": "keyword_report_data.csv", "original_file_path": "seeds/keyword_report_data.csv", "name": "keyword_report_data", "alias": "keyword_report_data", "checksum": {"name": "sha256", "checksum": "1035144a7494a5a018e6a87770e8ee67eb6b98f6e899865c1e7c4b1bfc4b6951"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type in ('redshift','postgres') else false }}", "column_types": {"id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "ad_group_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "advertiser_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_promotion_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "keyword_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}"}}, "created_at": 1656628609.957382, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"keyword_report_data\""}, "seed.pinterest_source_integration_tests.pin_promotion_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", "campaign_id": "bigint", "ad_group_id": "bigint", "pin_id": "bigint", "advertiser_id": "bigint", "pin_promotion_id": "bigint", "keyword_id": "bigint"}, "full_refresh": null, "on_schema_change": "ignore", "quote_columns": true, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "pinterest_source_integration_tests", "fqn": ["pinterest_source_integration_tests", "pin_promotion_history_data"], "unique_id": "seed.pinterest_source_integration_tests.pin_promotion_history_data", "package_name": "pinterest_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests", "path": "pin_promotion_history_data.csv", "original_file_path": "seeds/pin_promotion_history_data.csv", "name": "pin_promotion_history_data", "alias": "pin_promotion_history_data", "checksum": {"name": "sha256", "checksum": "6b7c5d891ccb02be0c1e126545984964eb4fa226a9d1ae9741ad76288497e338"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type in ('redshift','postgres') else false }}", "column_types": {"id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "ad_group_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "advertiser_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_promotion_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "keyword_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}"}}, "created_at": 1656628609.958428, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"pin_promotion_history_data\""}, "seed.pinterest_source_integration_tests.advertiser_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", "campaign_id": "bigint", "ad_group_id": "bigint", "pin_id": "bigint", "advertiser_id": "bigint", "pin_promotion_id": "bigint", "keyword_id": "bigint"}, "full_refresh": null, "on_schema_change": "ignore", "quote_columns": true, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "pinterest_source_integration_tests", "fqn": ["pinterest_source_integration_tests", "advertiser_history_data"], "unique_id": "seed.pinterest_source_integration_tests.advertiser_history_data", "package_name": "pinterest_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests", "path": "advertiser_history_data.csv", "original_file_path": "seeds/advertiser_history_data.csv", "name": "advertiser_history_data", "alias": "advertiser_history_data", "checksum": {"name": "sha256", "checksum": "a1efd698a39cc0a75b74b43b84d114eddf6eaac9d3dd7d2a06e704951c091fe4"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type in ('redshift','postgres') else false }}", "column_types": {"id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "ad_group_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "advertiser_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_promotion_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "keyword_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}"}}, "created_at": 1656628609.9594061, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"advertiser_history_data\""}, "seed.pinterest_source_integration_tests.advertiser_report_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", "campaign_id": "bigint", "ad_group_id": "bigint", "pin_id": "bigint", "advertiser_id": "bigint", "pin_promotion_id": "bigint", "keyword_id": "bigint"}, "full_refresh": null, "on_schema_change": "ignore", "quote_columns": true, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "pinterest_source_integration_tests", "fqn": ["pinterest_source_integration_tests", "advertiser_report_data"], "unique_id": "seed.pinterest_source_integration_tests.advertiser_report_data", "package_name": "pinterest_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests", "path": "advertiser_report_data.csv", "original_file_path": "seeds/advertiser_report_data.csv", "name": "advertiser_report_data", "alias": "advertiser_report_data", "checksum": {"name": "sha256", "checksum": "1c259e5a0e32230a041a13947432b02764f30f9a7aa245893c63a386fb2ee60e"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type in ('redshift','postgres') else false }}", "column_types": {"id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "ad_group_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "advertiser_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_promotion_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "keyword_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}"}}, "created_at": 1656628609.960723, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"advertiser_report_data\""}, "seed.pinterest_source_integration_tests.ad_group_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", "campaign_id": "bigint", "ad_group_id": "bigint", "pin_id": "bigint", "advertiser_id": "bigint", "pin_promotion_id": "bigint", "keyword_id": "bigint"}, "full_refresh": null, "on_schema_change": "ignore", "quote_columns": true, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "pinterest_source_integration_tests", "fqn": ["pinterest_source_integration_tests", "ad_group_history_data"], "unique_id": "seed.pinterest_source_integration_tests.ad_group_history_data", "package_name": "pinterest_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests", "path": "ad_group_history_data.csv", "original_file_path": "seeds/ad_group_history_data.csv", "name": "ad_group_history_data", "alias": "ad_group_history_data", "checksum": {"name": "sha256", "checksum": "ff76dce5a5b57b38a03bfc295838b9f05e99e3e310066ac3fc96f7c78e3b6be8"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type in ('redshift','postgres') else false }}", "column_types": {"id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "ad_group_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "advertiser_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_promotion_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "keyword_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}"}}, "created_at": 1656628609.961677, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"ad_group_history_data\""}, "seed.pinterest_source_integration_tests.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", "campaign_id": "bigint", "ad_group_id": "bigint", "pin_id": "bigint", "advertiser_id": "bigint", "pin_promotion_id": "bigint", "keyword_id": "bigint"}, "full_refresh": null, "on_schema_change": "ignore", "quote_columns": true, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "pinterest_source_integration_tests", "fqn": ["pinterest_source_integration_tests", "campaign_history_data"], "unique_id": "seed.pinterest_source_integration_tests.campaign_history_data", "package_name": "pinterest_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests", "path": "campaign_history_data.csv", "original_file_path": "seeds/campaign_history_data.csv", "name": "campaign_history_data", "alias": "campaign_history_data", "checksum": {"name": "sha256", "checksum": "4c2ec13ff8548a5571e2de4601947d72d934669534584fa234099b3200564aab"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type in ('redshift','postgres') else false }}", "column_types": {"id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "ad_group_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "advertiser_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_promotion_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "keyword_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}"}}, "created_at": 1656628609.962632, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"campaign_history_data\""}, "seed.pinterest_source_integration_tests.campaign_report_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", "campaign_id": "bigint", "ad_group_id": "bigint", "pin_id": "bigint", "advertiser_id": "bigint", "pin_promotion_id": "bigint", "keyword_id": "bigint"}, "full_refresh": null, "on_schema_change": "ignore", "quote_columns": true, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "pinterest_source_integration_tests", "fqn": ["pinterest_source_integration_tests", "campaign_report_data"], "unique_id": "seed.pinterest_source_integration_tests.campaign_report_data", "package_name": "pinterest_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests", "path": "campaign_report_data.csv", "original_file_path": "seeds/campaign_report_data.csv", "name": "campaign_report_data", "alias": "campaign_report_data", "checksum": {"name": "sha256", "checksum": "b13c07bb0eabe3bb01f21e3a9ca46d6d549a7ae56668fd3c3bc69ba033586638"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type in ('redshift','postgres') else false }}", "column_types": {"id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "ad_group_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "advertiser_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_promotion_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "keyword_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}"}}, "created_at": 1656628609.963594, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"campaign_report_data\""}, "seed.pinterest_source_integration_tests.keyword_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", "campaign_id": "bigint", "ad_group_id": "bigint", "pin_id": "bigint", "advertiser_id": "bigint", "pin_promotion_id": "bigint", "keyword_id": "bigint"}, "full_refresh": null, "on_schema_change": "ignore", "quote_columns": true, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "pinterest_source_integration_tests", "fqn": ["pinterest_source_integration_tests", "keyword_history_data"], "unique_id": "seed.pinterest_source_integration_tests.keyword_history_data", "package_name": "pinterest_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests", "path": "keyword_history_data.csv", "original_file_path": "seeds/keyword_history_data.csv", "name": "keyword_history_data", "alias": "keyword_history_data", "checksum": {"name": "sha256", "checksum": "589c187cfa8845b5851700d6e10128a158fe860a55a4f4de7f83b1e92226bc9e"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type in ('redshift','postgres') else false }}", "column_types": {"id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "ad_group_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "advertiser_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_promotion_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "keyword_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}"}}, "created_at": 1656628609.964641, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"keyword_history_data\""}, "seed.pinterest_source_integration_tests.pin_promotion_report_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", "campaign_id": "bigint", "ad_group_id": "bigint", "pin_id": "bigint", "advertiser_id": "bigint", "pin_promotion_id": "bigint", "keyword_id": "bigint"}, "full_refresh": null, "on_schema_change": "ignore", "quote_columns": true, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "pinterest_source_integration_tests", "fqn": ["pinterest_source_integration_tests", "pin_promotion_report_data"], "unique_id": "seed.pinterest_source_integration_tests.pin_promotion_report_data", "package_name": "pinterest_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests", "path": "pin_promotion_report_data.csv", "original_file_path": "seeds/pin_promotion_report_data.csv", "name": "pin_promotion_report_data", "alias": "pin_promotion_report_data", "checksum": {"name": "sha256", "checksum": "925cc6b85b3db0a72f4b6caba706aca609a276e4c71786a651c0294b2cd6ad35"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type in ('redshift','postgres') else false }}", "column_types": {"id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "ad_group_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "advertiser_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_promotion_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "keyword_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}"}}, "created_at": 1656628609.9656162, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"pin_promotion_report_data\""}, "model.pinterest_source.stg_pinterest_ads__pin_promotion_history": {"raw_sql": "with base as (\n\n select *\n from {{ ref('stg_pinterest_ads__pin_promotion_history_tmp') }}\n), \n\nfields as (\n\n select\n\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_pinterest_ads__pin_promotion_history_tmp')),\n staging_columns=get_pin_promotion_history_columns()\n )\n }}\n from base\n), \n\nfinal as (\n\n select\n id as pin_promotion_id,\n ad_group_id,\n created_time as created_at,\n destination_url,\n {{ dbt_utils.split_part('destination_url', \"'?'\", 1) }} as base_url,\n {{ dbt_utils.get_url_host('destination_url') }} as url_host,\n '/' || {{ dbt_utils.get_url_path('destination_url') }} as url_path,\n {{ dbt_utils.get_url_parameter('destination_url', 'utm_source') }} as utm_source,\n {{ dbt_utils.get_url_parameter('destination_url', 'utm_medium') }} as utm_medium,\n {{ dbt_utils.get_url_parameter('destination_url', 'utm_campaign') }} as utm_campaign,\n {{ dbt_utils.get_url_parameter('destination_url', 'utm_content') }} as utm_content,\n {{ dbt_utils.get_url_parameter('destination_url', 'utm_term') }} as utm_term,\n name as pin_name,\n pin_id,\n status as pin_status,\n creative_type,\n _fivetran_synced\n from fields\n), \n\nsurrogate_key as (\n\n select \n *,\n row_number() over (partition by pin_promotion_id order by _fivetran_synced desc) = 1 as is_most_recent_record\n from final\n)\n\nselect *\nfrom surrogate_key", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.pinterest_source.get_pin_promotion_history_columns", "macro.fivetran_utils.fill_staging_columns", "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.pinterest_source.stg_pinterest_ads__pin_promotion_history_tmp", "model.pinterest_source.stg_pinterest_ads__pin_promotion_history_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "stg_pinterest_ads__pin_promotion_history"], "unique_id": "model.pinterest_source.stg_pinterest_ads__pin_promotion_history", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "stg_pinterest_ads__pin_promotion_history.sql", "original_file_path": "models/stg_pinterest_ads__pin_promotion_history.sql", "name": "stg_pinterest_ads__pin_promotion_history", "alias": "stg_pinterest_ads__pin_promotion_history", "checksum": {"name": "sha256", "checksum": "e58d90c1bb7d29becd3d75c83d9739700ab06395c88512b82cb292411aa0b846"}, "tags": [], "refs": [["stg_pinterest_ads__pin_promotion_history_tmp"], ["stg_pinterest_ads__pin_promotion_history_tmp"]], "sources": [], "description": "Each record represents a version of a Pinterest Pin promotion.", "columns": {"pin_promotion_id": {"name": "pin_promotion_id", "description": "Pin promotion ID.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_id": {"name": "ad_group_id", "description": "Pin promotion ad group ID.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "created_at": {"name": "created_at", "description": "Pin creation time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "destination_url": {"name": "destination_url", "description": "Pin destination URL.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "pin_name": {"name": "pin_name", "description": "Pin promotion name.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "pin_id": {"name": "pin_id", "description": "Original pin ID.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "pin_status": {"name": "pin_status", "description": "The status of the Pin promotion. One of \"ACTIVE\", \"ARCHIVED\", \"PAUSED\"", "meta": {}, "data_type": null, "quote": null, "tags": []}, "creative_type": {"name": "creative_type", "description": "The creative type. \nOne of \"APP\", \"APP_VIDEO\", \"BOARD\", \"CAROUSEL\", \"CINEMATIC\", \"COMMERCE\", \"MAX_VIDEO\", \"NATIVE_VIDEO\", \"REGULAR\", \n\"SEARCH_PROMINENCE\", \"SEARCH_PROMINENCE_CAROUSEL\", \"SHOPPING\", \"SHOP_THE_PIN\", \"THIRD_PARTY\", or \"VIDEO\".\n", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "is_most_recent_record": {"name": "is_most_recent_record", "description": "Boolean representing whether the record is the most recent version of the object.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "base_url": {"name": "base_url", "description": "The base URL of the ad, extracted from the `destination_url`.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "url_host": {"name": "url_host", "description": "The URL host of the ad, extracted from the `destination_url`.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "url_path": {"name": "url_path", "description": "The URL path of the ad, extracted from the `destination_url`.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "utm_source": {"name": "utm_source", "description": "The utm_source parameter of the ad, extracted from the `destination_url`.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "utm_medium": {"name": "utm_medium", "description": "The utm_medium parameter of the ad, extracted from the `destination_url`.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "utm_campaign": {"name": "utm_campaign", "description": "The utm_campaign parameter of the ad, extracted from the `destination_url`.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "utm_content": {"name": "utm_content", "description": "The utm_content parameter of the ad, extracted from the `destination_url`.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "utm_term": {"name": "utm_term", "description": "The utm_term parameter of the ad, extracted from the `destination_url`.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "pinterest_source://models/stg_pinterest_ads.yml", "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads__pin_promotion_history.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "table"}, "created_at": 1656628610.136626, "compiled_sql": "with base as (\n\n select *\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__pin_promotion_history_tmp\"\n), \n\nfields as (\n\n select\n\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n ad_group_id\n \n as \n \n ad_group_id\n \n, \n cast(null as \n varchar\n) as \n \n android_deep_link\n \n , \n cast(null as \n varchar\n) as \n \n click_tracking_url\n \n , \n \n \n created_time\n \n as \n \n created_time\n \n, \n \n \n creative_type\n \n as \n \n creative_type\n \n, \n \n \n destination_url\n \n as \n \n destination_url\n \n, \n \n \n id\n \n as \n \n id\n \n, \n cast(null as \n varchar\n) as \n \n ios_deep_link\n \n , \n cast(null as boolean) as \n \n is_pin_deleted\n \n , \n cast(null as boolean) as \n \n is_removable\n \n , \n \n \n name\n \n as \n \n name\n \n, \n \n \n pin_id\n \n as \n \n pin_id\n \n, \n cast(null as \n varchar\n) as \n \n review_status\n \n , \n \n \n status\n \n as \n \n status\n \n, \n cast(null as \n timestamp without time zone\n) as \n \n updated_time\n \n , \n cast(null as \n varchar\n) as \n \n view_tracking_url\n \n \n\n\n from base\n), \n\nfinal as (\n\n select\n id as pin_promotion_id,\n ad_group_id,\n created_time as created_at,\n destination_url,\n \n\n \n \n\n split_part(\n destination_url,\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 destination_url,\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 destination_url,\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 destination_url,\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 destination_url,\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 destination_url,\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 nullif(\n\n \n \n\n split_part(\n \n\n \n \n\n split_part(\n destination_url,\n 'utm_source=',\n 2\n )\n\n\n \n\n,\n '&',\n 1\n )\n\n\n \n\n,'') as utm_source,\n nullif(\n\n \n \n\n split_part(\n \n\n \n \n\n split_part(\n destination_url,\n 'utm_medium=',\n 2\n )\n\n\n \n\n,\n '&',\n 1\n )\n\n\n \n\n,'') as utm_medium,\n nullif(\n\n \n \n\n split_part(\n \n\n \n \n\n split_part(\n destination_url,\n 'utm_campaign=',\n 2\n )\n\n\n \n\n,\n '&',\n 1\n )\n\n\n \n\n,'') as utm_campaign,\n nullif(\n\n \n \n\n split_part(\n \n\n \n \n\n split_part(\n destination_url,\n 'utm_content=',\n 2\n )\n\n\n \n\n,\n '&',\n 1\n )\n\n\n \n\n,'') as utm_content,\n nullif(\n\n \n \n\n split_part(\n \n\n \n \n\n split_part(\n destination_url,\n 'utm_term=',\n 2\n )\n\n\n \n\n,\n '&',\n 1\n )\n\n\n \n\n,'') as utm_term,\n name as pin_name,\n pin_id,\n status as pin_status,\n creative_type,\n _fivetran_synced\n from fields\n), \n\nsurrogate_key as (\n\n select \n *,\n row_number() over (partition by pin_promotion_id order by _fivetran_synced desc) = 1 as is_most_recent_record\n from final\n)\n\nselect *\nfrom surrogate_key", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__pin_promotion_history\""}, "model.pinterest_source.stg_pinterest_ads__keyword_report": {"raw_sql": "with base as (\n\n select * \n from {{ ref('stg_pinterest_ads__keyword_report_tmp') }}\n),\n\nfields as (\n\n select\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_pinterest_ads__keyword_report_tmp')),\n staging_columns=get_keyword_report_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select\n date as date_day,\n keyword_id,\n pin_promotion_id,\n ad_group_id,\n ad_group_name,\n ad_group_status,\n campaign_id,\n advertiser_id,\n _fivetran_synced,\n coalesce(impression_1,0) + coalesce(impression_2,0) as impressions,\n coalesce(clickthrough_1,0) + coalesce(clickthrough_2,0) as clicks,\n spend_in_micro_dollar / 1000000.0 as spend\n\n {% for metric in var('pinterest__keyword_report_passthrough_metrics',[]) %}\n , {{ metric }}\n {% endfor %}\n\n from fields\n)\n\nselect *\nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.pinterest_source.get_keyword_report_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.pinterest_source.stg_pinterest_ads__keyword_report_tmp", "model.pinterest_source.stg_pinterest_ads__keyword_report_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "stg_pinterest_ads__keyword_report"], "unique_id": "model.pinterest_source.stg_pinterest_ads__keyword_report", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "stg_pinterest_ads__keyword_report.sql", "original_file_path": "models/stg_pinterest_ads__keyword_report.sql", "name": "stg_pinterest_ads__keyword_report", "alias": "stg_pinterest_ads__keyword_report", "checksum": {"name": "sha256", "checksum": "eae25ceb0443dd7893e97ad960356a12b50bd7d84f25ce57fa726c984efb6bcc"}, "tags": [], "refs": [["stg_pinterest_ads__keyword_report_tmp"], ["stg_pinterest_ads__keyword_report_tmp"]], "sources": [], "description": "Each record represents the daily performance of Keywords.", "columns": {"date_day": {"name": "date_day", "description": "The performance date of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "keyword_id": {"name": "keyword_id", "description": "Unique identifier of the keyword.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "pin_promotion_id": {"name": "pin_promotion_id", "description": "The ID of the related Pin promotion.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_id": {"name": "ad_group_id", "description": "The ID of the related Ad group.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_name": {"name": "ad_group_name", "description": "Name of the ad group.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_status": {"name": "ad_group_status", "description": "Status of the ad group.", "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": []}, "advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impressions": {"name": "impressions", "description": "The number of impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clicks": {"name": "clicks", "description": "The number of clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend": {"name": "spend", "description": "The amount of spend that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "pinterest_source://models/stg_pinterest_ads.yml", "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads__keyword_report.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "table"}, "created_at": 1656628610.1490948, "compiled_sql": "with base as (\n\n select * \n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__keyword_report_tmp\"\n),\n\nfields as (\n\n select\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n ad_group_id\n \n as \n \n ad_group_id\n \n, \n \n \n ad_group_name\n \n as \n \n ad_group_name\n \n, \n \n \n ad_group_status\n \n as \n \n ad_group_status\n \n, \n \n \n advertiser_id\n \n as \n \n advertiser_id\n \n, \n \n \n campaign_id\n \n as \n \n campaign_id\n \n, \n \n \n clickthrough_1\n \n as \n \n clickthrough_1\n \n, \n cast(null as \n int\n) as \n \n clickthrough_2\n \n , \n \n \n date\n \n as \n \n date\n \n, \n \n \n impression_1\n \n as \n \n impression_1\n \n, \n cast(null as \n int\n) as \n \n impression_2\n \n , \n \n \n keyword_id\n \n as \n \n keyword_id\n \n, \n \n \n pin_promotion_id\n \n as \n \n pin_promotion_id\n \n, \n \n \n spend_in_micro_dollar\n \n as \n \n spend_in_micro_dollar\n \n\n\n\n from base\n),\n\nfinal as (\n \n select\n date as date_day,\n keyword_id,\n pin_promotion_id,\n ad_group_id,\n ad_group_name,\n ad_group_status,\n campaign_id,\n advertiser_id,\n _fivetran_synced,\n coalesce(impression_1,0) + coalesce(impression_2,0) as impressions,\n coalesce(clickthrough_1,0) + coalesce(clickthrough_2,0) as clicks,\n spend_in_micro_dollar / 1000000.0 as spend\n\n \n\n from fields\n)\n\nselect *\nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__keyword_report\""}, "model.pinterest_source.stg_pinterest_ads__ad_group_report": {"raw_sql": "with base as (\n\n select * \n from {{ ref('stg_pinterest_ads__ad_group_report_tmp') }}\n),\n\nfields as (\n\n select\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_pinterest_ads__ad_group_report_tmp')),\n staging_columns=get_ad_group_report_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select \n date as date_day,\n ad_group_id,\n ad_group_name,\n ad_group_status,\n campaign_id,\n advertiser_id,\n _fivetran_synced,\n coalesce(impression_1,0) + coalesce(impression_2,0) as impressions,\n coalesce(clickthrough_1,0) + coalesce(clickthrough_2,0) as clicks,\n spend_in_micro_dollar / 1000000.0 as spend\n\n {% for metric in var('pinterest__ad_group_report_passthrough_metrics',[]) %}\n , {{ metric }}\n {% endfor %}\n\n from fields\n)\n\nselect *\nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.pinterest_source.get_ad_group_report_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.pinterest_source.stg_pinterest_ads__ad_group_report_tmp", "model.pinterest_source.stg_pinterest_ads__ad_group_report_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "stg_pinterest_ads__ad_group_report"], "unique_id": "model.pinterest_source.stg_pinterest_ads__ad_group_report", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "stg_pinterest_ads__ad_group_report.sql", "original_file_path": "models/stg_pinterest_ads__ad_group_report.sql", "name": "stg_pinterest_ads__ad_group_report", "alias": "stg_pinterest_ads__ad_group_report", "checksum": {"name": "sha256", "checksum": "a1988f317cfd1fc918ea6590be28581a9cb169ecfef2005742229a3d685f0f6b"}, "tags": [], "refs": [["stg_pinterest_ads__ad_group_report_tmp"], ["stg_pinterest_ads__ad_group_report_tmp"]], "sources": [], "description": "Each record represents the daily performance of a Pinterest Ad Groups.", "columns": {"date_day": {"name": "date_day", "description": "The performance date of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_id": {"name": "ad_group_id", "description": "The ID of the related Ad group.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_name": {"name": "ad_group_name", "description": "Name of the ad group.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_status": {"name": "ad_group_status", "description": "Status of the ad group.", "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": []}, "advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impressions": {"name": "impressions", "description": "The number of impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clicks": {"name": "clicks", "description": "The number of clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend": {"name": "spend", "description": "The amount of spend that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "pinterest_source://models/stg_pinterest_ads.yml", "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads__ad_group_report.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "table"}, "created_at": 1656628610.140011, "compiled_sql": "with base as (\n\n select * \n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__ad_group_report_tmp\"\n),\n\nfields as (\n\n select\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n ad_group_id\n \n as \n \n ad_group_id\n \n, \n \n \n ad_group_name\n \n as \n \n ad_group_name\n \n, \n \n \n ad_group_status\n \n as \n \n ad_group_status\n \n, \n \n \n advertiser_id\n \n as \n \n advertiser_id\n \n, \n \n \n campaign_id\n \n as \n \n campaign_id\n \n, \n \n \n clickthrough_1\n \n as \n \n clickthrough_1\n \n, \n cast(null as \n int\n) as \n \n clickthrough_2\n \n , \n \n \n date\n \n as \n \n date\n \n, \n \n \n impression_1\n \n as \n \n impression_1\n \n, \n cast(null as \n int\n) as \n \n impression_2\n \n , \n \n \n spend_in_micro_dollar\n \n as \n \n spend_in_micro_dollar\n \n\n\n\n from base\n),\n\nfinal as (\n \n select \n date as date_day,\n ad_group_id,\n ad_group_name,\n ad_group_status,\n campaign_id,\n advertiser_id,\n _fivetran_synced,\n coalesce(impression_1,0) + coalesce(impression_2,0) as impressions,\n coalesce(clickthrough_1,0) + coalesce(clickthrough_2,0) as clicks,\n spend_in_micro_dollar / 1000000.0 as spend\n\n \n\n from fields\n)\n\nselect *\nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__ad_group_report\""}, "model.pinterest_source.stg_pinterest_ads__campaign_history": {"raw_sql": "with base as (\n\n select *\n from {{ ref('stg_pinterest_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_pinterest_ads__campaign_history_tmp')),\n staging_columns=get_campaign_history_columns()\n )\n }}\n from base\n), \n\nfinal as (\n\n select \n id as campaign_id,\n name as campaign_name,\n advertiser_id,\n status as campaign_status,\n _fivetran_synced,\n created_time as created_at\n from fields\n),\n\nmost_recent as (\n select \n *,\n row_number() over (partition by campaign_id order by _fivetran_synced desc) = 1 as is_most_recent_record\n from final\n)\n\nselect *\nfrom most_recent", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.pinterest_source.get_campaign_history_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.pinterest_source.stg_pinterest_ads__campaign_history_tmp", "model.pinterest_source.stg_pinterest_ads__campaign_history_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "stg_pinterest_ads__campaign_history"], "unique_id": "model.pinterest_source.stg_pinterest_ads__campaign_history", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "stg_pinterest_ads__campaign_history.sql", "original_file_path": "models/stg_pinterest_ads__campaign_history.sql", "name": "stg_pinterest_ads__campaign_history", "alias": "stg_pinterest_ads__campaign_history", "checksum": {"name": "sha256", "checksum": "dc5acb7c99056c415b7b7819b6054f15750b165179f7e55ab21afb705088b6eb"}, "tags": [], "refs": [["stg_pinterest_ads__campaign_history_tmp"], ["stg_pinterest_ads__campaign_history_tmp"]], "sources": [], "description": "Each record represents a version of a Pinterest Campaign.", "columns": {"campaign_id": {"name": "campaign_id", "description": "The ID of the related Campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "created_at": {"name": "created_at", "description": "Campaign creation time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_name": {"name": "campaign_name", "description": "Campaign name.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_status": {"name": "campaign_status", "description": "The status of the Campaign. One of \"ACTIVE\", \"ARCHIVED\", \"PAUSED\"", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "is_most_recent_record": {"name": "is_most_recent_record", "description": "Boolean representing whether the record is the most recent version of the object.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "pinterest_source://models/stg_pinterest_ads.yml", "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads__campaign_history.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "table"}, "created_at": 1656628610.133677, "compiled_sql": "with base as (\n\n select *\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__campaign_history_tmp\"\n), \n\nfields as (\n\n select\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n created_time\n \n as \n \n created_time\n \n, \n \n \n id\n \n as \n \n id\n \n, \n \n \n advertiser_id\n \n as \n \n advertiser_id\n \n, \n \n \n name\n \n as \n \n name\n \n, \n \n \n status\n \n as \n \n status\n \n\n\n\n from base\n), \n\nfinal as (\n\n select \n id as campaign_id,\n name as campaign_name,\n advertiser_id,\n status as campaign_status,\n _fivetran_synced,\n created_time as created_at\n from fields\n),\n\nmost_recent as (\n select \n *,\n row_number() over (partition by campaign_id order by _fivetran_synced desc) = 1 as is_most_recent_record\n from final\n)\n\nselect *\nfrom most_recent", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__campaign_history\""}, "model.pinterest_source.stg_pinterest_ads__advertiser_report": {"raw_sql": "with base as (\n\n select * \n from {{ ref('stg_pinterest_ads__advertiser_report_tmp') }}\n),\n\nfields as (\n\n select\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_pinterest_ads__advertiser_report_tmp')),\n staging_columns=get_advertiser_report_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select \n date as date_day,\n advertiser_id,\n _fivetran_synced,\n coalesce(impression_1,0) + coalesce(impression_2,0) as impressions,\n coalesce(clickthrough_1,0) + coalesce(clickthrough_2,0) as clicks,\n spend_in_micro_dollar / 1000000.0 as spend\n\n {% for metric in var('pinterest__advertiser_report_passthrough_metrics',[]) %}\n , {{ metric }}\n {% endfor %}\n\n from fields\n)\n\nselect *\nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.pinterest_source.get_advertiser_report_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.pinterest_source.stg_pinterest_ads__advertiser_report_tmp", "model.pinterest_source.stg_pinterest_ads__advertiser_report_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "stg_pinterest_ads__advertiser_report"], "unique_id": "model.pinterest_source.stg_pinterest_ads__advertiser_report", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "stg_pinterest_ads__advertiser_report.sql", "original_file_path": "models/stg_pinterest_ads__advertiser_report.sql", "name": "stg_pinterest_ads__advertiser_report", "alias": "stg_pinterest_ads__advertiser_report", "checksum": {"name": "sha256", "checksum": "00f1298fed5bfaba91fc3c7bfb8706e29fd9b02ddc3223a8b2957cdc9d6cdd08"}, "tags": [], "refs": [["stg_pinterest_ads__advertiser_report_tmp"], ["stg_pinterest_ads__advertiser_report_tmp"]], "sources": [], "description": "Each record represents the daily performance of an Advertiser.", "columns": {"date_day": {"name": "date_day", "description": "The performance date of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impressions": {"name": "impressions", "description": "The number of impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clicks": {"name": "clicks", "description": "The number of clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend": {"name": "spend", "description": "The amount of spend that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "pinterest_source://models/stg_pinterest_ads.yml", "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads__advertiser_report.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "table"}, "created_at": 1656628610.143281, "compiled_sql": "with base as (\n\n select * \n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__advertiser_report_tmp\"\n),\n\nfields as (\n\n select\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n advertiser_id\n \n as \n \n advertiser_id\n \n, \n \n \n clickthrough_1\n \n as \n \n clickthrough_1\n \n, \n cast(null as \n int\n) as \n \n clickthrough_2\n \n , \n \n \n date\n \n as \n \n date\n \n, \n \n \n impression_1\n \n as \n \n impression_1\n \n, \n cast(null as \n int\n) as \n \n impression_2\n \n , \n \n \n spend_in_micro_dollar\n \n as \n \n spend_in_micro_dollar\n \n\n\n\n from base\n),\n\nfinal as (\n \n select \n date as date_day,\n advertiser_id,\n _fivetran_synced,\n coalesce(impression_1,0) + coalesce(impression_2,0) as impressions,\n coalesce(clickthrough_1,0) + coalesce(clickthrough_2,0) as clicks,\n spend_in_micro_dollar / 1000000.0 as spend\n\n \n\n from fields\n)\n\nselect *\nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__advertiser_report\""}, "model.pinterest_source.stg_pinterest_ads__advertiser_history": {"raw_sql": "with base as (\n\n select * \n from {{ ref('stg_pinterest_ads__advertiser_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_pinterest_ads__advertiser_history_tmp')),\n staging_columns=get_advertiser_history_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select \n id as advertiser_id,\n name as advertiser_name,\n status as advertiser_status,\n billing_profile_status,\n billing_type,\n country,\n created_time as created_at,\n currency as currency_code,\n merchant_id,\n owner_user_id,\n updated_time as updated_at,\n _fivetran_synced\n from fields\n),\n\nmost_recent as (\n select\n *,\n row_number() over (partition by advertiser_id order by updated_at desc) = 1 as is_most_recent_record\n from final\n\n)\n\nselect *\nfrom most_recent", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.pinterest_source.get_advertiser_history_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.pinterest_source.stg_pinterest_ads__advertiser_history_tmp", "model.pinterest_source.stg_pinterest_ads__advertiser_history_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "stg_pinterest_ads__advertiser_history"], "unique_id": "model.pinterest_source.stg_pinterest_ads__advertiser_history", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "stg_pinterest_ads__advertiser_history.sql", "original_file_path": "models/stg_pinterest_ads__advertiser_history.sql", "name": "stg_pinterest_ads__advertiser_history", "alias": "stg_pinterest_ads__advertiser_history", "checksum": {"name": "sha256", "checksum": "7f7ae9e58839afabbf48f31338a9edef6cb6a94a86a0339f5dd007ef454f2bfb"}, "tags": [], "refs": [["stg_pinterest_ads__advertiser_history_tmp"], ["stg_pinterest_ads__advertiser_history_tmp"]], "sources": [], "description": "Each record represents a version of an advertiser.", "columns": {"advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "advertiser_name": {"name": "advertiser_name", "description": "Name of the advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "advertiser_status": {"name": "advertiser_status", "description": "Status of the advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "billing_profile_status": {"name": "billing_profile_status", "description": "Status of the billing profile.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "billing_type": {"name": "billing_type", "description": "The billing type of the advertiser. Will typically be CREDIT_CARD or INVOICE.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "country": {"name": "country", "description": "The country code where the advertiser is located.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "created_at": {"name": "created_at", "description": "Timestamp of when a record was created.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "currency_code": {"name": "currency_code", "description": "The currency code which the a", "meta": {}, "data_type": null, "quote": null, "tags": []}, "merchant_id": {"name": "merchant_id", "description": "Unique ID of the merchant associated with the advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "owner_user_id": {"name": "owner_user_id", "description": "Unique identifier of the owner user.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "updated_at": {"name": "updated_at", "description": "Timestamp of when a record was last updated.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "is_most_recent_record": {"name": "is_most_recent_record", "description": "Boolean representing whether the record is the most recent version of the object.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "pinterest_source://models/stg_pinterest_ads.yml", "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads__advertiser_history.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "table"}, "created_at": 1656628610.1420789, "compiled_sql": "with base as (\n\n select * \n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__advertiser_history_tmp\"\n),\n\nfields as (\n\n select\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n billing_profile_status\n \n as \n \n billing_profile_status\n \n, \n \n \n billing_type\n \n as \n \n billing_type\n \n, \n \n \n country\n \n as \n \n country\n \n, \n \n \n created_time\n \n as \n \n created_time\n \n, \n \n \n currency\n \n as \n \n currency\n \n, \n \n \n id\n \n as \n \n id\n \n, \n \n \n merchant_id\n \n as \n \n merchant_id\n \n, \n \n \n name\n \n as \n \n name\n \n, \n \n \n owner_user_id\n \n as \n \n owner_user_id\n \n, \n \n \n status\n \n as \n \n status\n \n, \n \n \n updated_time\n \n as \n \n updated_time\n \n\n\n\n from base\n),\n\nfinal as (\n \n select \n id as advertiser_id,\n name as advertiser_name,\n status as advertiser_status,\n billing_profile_status,\n billing_type,\n country,\n created_time as created_at,\n currency as currency_code,\n merchant_id,\n owner_user_id,\n updated_time as updated_at,\n _fivetran_synced\n from fields\n),\n\nmost_recent as (\n select\n *,\n row_number() over (partition by advertiser_id order by updated_at desc) = 1 as is_most_recent_record\n from final\n\n)\n\nselect *\nfrom most_recent", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__advertiser_history\""}, "model.pinterest_source.stg_pinterest_ads__campaign_report": {"raw_sql": "with base as (\n\n select * \n from {{ ref('stg_pinterest_ads__campaign_report_tmp') }}\n),\n\nfields as (\n\n select\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_pinterest_ads__campaign_report_tmp')),\n staging_columns=get_campaign_report_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select \n date as date_day,\n campaign_id,\n campaign_name,\n campaign_status,\n advertiser_id,\n _fivetran_synced,\n coalesce(impression_1,0) + coalesce(impression_2,0) as impressions,\n coalesce(clickthrough_1,0) + coalesce(clickthrough_2,0) as clicks,\n spend_in_micro_dollar / 1000000.0 as spend\n\n {% for metric in var('pinterest__campaign_report_passthrough_metrics',[]) %}\n , {{ metric }}\n {% endfor %}\n\n from fields\n)\n\nselect *\nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.pinterest_source.get_campaign_report_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.pinterest_source.stg_pinterest_ads__campaign_report_tmp", "model.pinterest_source.stg_pinterest_ads__campaign_report_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "stg_pinterest_ads__campaign_report"], "unique_id": "model.pinterest_source.stg_pinterest_ads__campaign_report", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "stg_pinterest_ads__campaign_report.sql", "original_file_path": "models/stg_pinterest_ads__campaign_report.sql", "name": "stg_pinterest_ads__campaign_report", "alias": "stg_pinterest_ads__campaign_report", "checksum": {"name": "sha256", "checksum": "b899813e905096e91f44ca3d1f6f138cca698dc5185f5cdc7c52e443d0e395be"}, "tags": [], "refs": [["stg_pinterest_ads__campaign_report_tmp"], ["stg_pinterest_ads__campaign_report_tmp"]], "sources": [], "description": "Each record represents the daily performance of Campaigns.", "columns": {"date_day": {"name": "date_day", "description": "The performance date of the record.", "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": "Name of the campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_status": {"name": "campaign_status", "description": "Status of the campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impressions": {"name": "impressions", "description": "The number of impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clicks": {"name": "clicks", "description": "The number of clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend": {"name": "spend", "description": "The amount of spend that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "pinterest_source://models/stg_pinterest_ads.yml", "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads__campaign_report.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "table"}, "created_at": 1656628610.145014, "compiled_sql": "with base as (\n\n select * \n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__campaign_report_tmp\"\n),\n\nfields as (\n\n select\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n advertiser_id\n \n as \n \n advertiser_id\n \n, \n \n \n campaign_id\n \n as \n \n campaign_id\n \n, \n \n \n campaign_name\n \n as \n \n campaign_name\n \n, \n \n \n campaign_status\n \n as \n \n campaign_status\n \n, \n \n \n clickthrough_1\n \n as \n \n clickthrough_1\n \n, \n cast(null as \n int\n) as \n \n clickthrough_2\n \n , \n \n \n date\n \n as \n \n date\n \n, \n \n \n impression_1\n \n as \n \n impression_1\n \n, \n cast(null as \n int\n) as \n \n impression_2\n \n , \n \n \n spend_in_micro_dollar\n \n as \n \n spend_in_micro_dollar\n \n\n\n\n from base\n),\n\nfinal as (\n \n select \n date as date_day,\n campaign_id,\n campaign_name,\n campaign_status,\n advertiser_id,\n _fivetran_synced,\n coalesce(impression_1,0) + coalesce(impression_2,0) as impressions,\n coalesce(clickthrough_1,0) + coalesce(clickthrough_2,0) as clicks,\n spend_in_micro_dollar / 1000000.0 as spend\n\n \n\n from fields\n)\n\nselect *\nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__campaign_report\""}, "model.pinterest_source.stg_pinterest_ads__keyword_history": {"raw_sql": "with base as (\n\n select * \n from {{ ref('stg_pinterest_ads__keyword_history_tmp') }}\n),\n\nfields as (\n\n select\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_pinterest_ads__keyword_history_tmp')),\n staging_columns=get_keyword_history_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select\n id as keyword_id,\n value as keyword_value,\n _fivetran_id,\n _fivetran_synced,\n ad_group_id,\n advertiser_id,\n archived,\n bid,\n campaign_id,\n match_type,\n parent_type\n from fields\n),\n\nmost_recent as (\n select\n *,\n row_number() over (partition by keyword_id order by _fivetran_synced desc) = 1 as is_most_recent_record\n from final\n)\n\nselect *\nfrom most_recent", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.pinterest_source.get_keyword_history_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.pinterest_source.stg_pinterest_ads__keyword_history_tmp", "model.pinterest_source.stg_pinterest_ads__keyword_history_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "stg_pinterest_ads__keyword_history"], "unique_id": "model.pinterest_source.stg_pinterest_ads__keyword_history", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "stg_pinterest_ads__keyword_history.sql", "original_file_path": "models/stg_pinterest_ads__keyword_history.sql", "name": "stg_pinterest_ads__keyword_history", "alias": "stg_pinterest_ads__keyword_history", "checksum": {"name": "sha256", "checksum": "699cd5961a1e73f18759bc85f569a503a381173579b2aa02bc27e1e8ae33fefd"}, "tags": [], "refs": [["stg_pinterest_ads__keyword_history_tmp"], ["stg_pinterest_ads__keyword_history_tmp"]], "sources": [], "description": "Each record represents the daily performance of a Keyword.", "columns": {"keyword_id": {"name": "keyword_id", "description": "Unique identifier of the keyword.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "keyword_value": {"name": "keyword_value", "description": "The text value that makes upd the keyword.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_id": {"name": "_fivetran_id", "description": "The unique identifier of the record within the Fivetran synced table.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_id": {"name": "ad_group_id", "description": "The ID of the related Ad group.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "archived": {"name": "archived", "description": "Boolean indicating if the keyword is archived.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "bid": {"name": "bid", "description": "Bid amount set for the keyword.", "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": []}, "match_type": {"name": "match_type", "description": "Type of match the keyword is tied to. Either Exact or Broad.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "parent_type": {"name": "parent_type", "description": "Identifier of what grain the parent type is. Ad group or campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "is_most_recent_record": {"name": "is_most_recent_record", "description": "Boolean representing whether the record is the most recent version of the object.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "pinterest_source://models/stg_pinterest_ads.yml", "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads__keyword_history.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "table"}, "created_at": 1656628610.147061, "compiled_sql": "with base as (\n\n select * \n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__keyword_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 ad_group_id\n \n as \n \n ad_group_id\n \n, \n \n \n advertiser_id\n \n as \n \n advertiser_id\n \n, \n \n \n archived\n \n as \n \n archived\n \n, \n \n \n bid\n \n as \n \n bid\n \n, \n \n \n campaign_id\n \n as \n \n campaign_id\n \n, \n \n \n id\n \n as \n \n id\n \n, \n \n \n match_type\n \n as \n \n match_type\n \n, \n \n \n parent_type\n \n as \n \n parent_type\n \n, \n \n \n value\n \n as \n \n value\n \n\n\n\n from base\n),\n\nfinal as (\n \n select\n id as keyword_id,\n value as keyword_value,\n _fivetran_id,\n _fivetran_synced,\n ad_group_id,\n advertiser_id,\n archived,\n bid,\n campaign_id,\n match_type,\n parent_type\n from fields\n),\n\nmost_recent as (\n select\n *,\n row_number() over (partition by keyword_id order by _fivetran_synced desc) = 1 as is_most_recent_record\n from final\n)\n\nselect *\nfrom most_recent", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__keyword_history\""}, "model.pinterest_source.stg_pinterest_ads__pin_promotion_report": {"raw_sql": "with base as (\n\n select *\n from {{ ref('stg_pinterest_ads__pin_promotion_report_tmp') }}\n), \n\nfields as (\n\n select\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_pinterest_ads__pin_promotion_report_tmp')),\n staging_columns=get_pin_promotion_report_columns()\n )\n }}\n from base\n), \n\nfinal as (\n\n select \n date as date_day,\n pin_promotion_id,\n ad_group_id,\n campaign_id,\n advertiser_id,\n _fivetran_synced,\n coalesce(impression_1,0) + coalesce(impression_2,0) as impressions,\n coalesce(clickthrough_1,0) + coalesce(clickthrough_2,0) as clicks,\n spend_in_micro_dollar / 1000000.0 as spend\n\n {% for metric in var('pinterest__pin_promotion_report_passthrough_metrics',[]) %}\n , {{ metric }}\n {% endfor %}\n\n from fields\n)\n\nselect *\nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.pinterest_source.get_pin_promotion_report_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_report_tmp", "model.pinterest_source.stg_pinterest_ads__pin_promotion_report_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "stg_pinterest_ads__pin_promotion_report"], "unique_id": "model.pinterest_source.stg_pinterest_ads__pin_promotion_report", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "stg_pinterest_ads__pin_promotion_report.sql", "original_file_path": "models/stg_pinterest_ads__pin_promotion_report.sql", "name": "stg_pinterest_ads__pin_promotion_report", "alias": "stg_pinterest_ads__pin_promotion_report", "checksum": {"name": "sha256", "checksum": "e0222fd677275d81b0f58343ffc12df5e78b733fb0d10634ee28633ffccfeaee"}, "tags": [], "refs": [["stg_pinterest_ads__pin_promotion_report_tmp"], ["stg_pinterest_ads__pin_promotion_report_tmp"]], "sources": [], "description": "Each record represents the daily performance of a Pinterest Pin promotion.", "columns": {"date_day": {"name": "date_day", "description": "The performance date of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "pin_promotion_id": {"name": "pin_promotion_id", "description": "The ID of the related Pin promotion.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_id": {"name": "ad_group_id", "description": "The ID of the related Ad group.", "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": []}, "advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impressions": {"name": "impressions", "description": "The number of impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clicks": {"name": "clicks", "description": "The number of clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend": {"name": "spend", "description": "The amount of spend that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "pinterest_source://models/stg_pinterest_ads.yml", "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads__pin_promotion_report.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "table"}, "created_at": 1656628610.1382668, "compiled_sql": "with base as (\n\n select *\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__pin_promotion_report_tmp\"\n), \n\nfields as (\n\n select\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n ad_group_id\n \n as \n \n ad_group_id\n \n, \n \n \n advertiser_id\n \n as \n \n advertiser_id\n \n, \n \n \n campaign_id\n \n as \n \n campaign_id\n \n, \n \n \n clickthrough_1\n \n as \n \n clickthrough_1\n \n, \n \n \n clickthrough_2\n \n as \n \n clickthrough_2\n \n, \n \n \n date\n \n as \n \n date\n \n, \n \n \n impression_1\n \n as \n \n impression_1\n \n, \n \n \n impression_2\n \n as \n \n impression_2\n \n, \n \n \n pin_promotion_id\n \n as \n \n pin_promotion_id\n \n, \n \n \n spend_in_micro_dollar\n \n as \n \n spend_in_micro_dollar\n \n\n\n\n from base\n), \n\nfinal as (\n\n select \n date as date_day,\n pin_promotion_id,\n ad_group_id,\n campaign_id,\n advertiser_id,\n _fivetran_synced,\n coalesce(impression_1,0) + coalesce(impression_2,0) as impressions,\n coalesce(clickthrough_1,0) + coalesce(clickthrough_2,0) as clicks,\n spend_in_micro_dollar / 1000000.0 as spend\n\n \n\n from fields\n)\n\nselect *\nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__pin_promotion_report\""}, "model.pinterest_source.stg_pinterest_ads__ad_group_history": {"raw_sql": "with base as (\n\n select *\n from {{ ref('stg_pinterest_ads__ad_group_history_tmp') }}\n), \n\nfields as (\n\n select\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_pinterest_ads__ad_group_history_tmp')),\n staging_columns=get_ad_group_history_columns()\n )\n }}\n from base\n), \n\nfinal as (\n\n select \n id as ad_group_id,\n name as ad_group_name,\n status as ad_group_status,\n _fivetran_synced,\n campaign_id,\n created_time as created_at,\n end_time,\n start_time\n from fields\n),\n\nmost_recent as (\n select\n *,\n row_number() over (partition by ad_group_id order by _fivetran_synced desc) = 1 as is_most_recent_record\n from final\n)\n\nselect *\nfrom most_recent", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.pinterest_source.get_ad_group_history_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.pinterest_source.stg_pinterest_ads__ad_group_history_tmp", "model.pinterest_source.stg_pinterest_ads__ad_group_history_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "stg_pinterest_ads__ad_group_history"], "unique_id": "model.pinterest_source.stg_pinterest_ads__ad_group_history", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "stg_pinterest_ads__ad_group_history.sql", "original_file_path": "models/stg_pinterest_ads__ad_group_history.sql", "name": "stg_pinterest_ads__ad_group_history", "alias": "stg_pinterest_ads__ad_group_history", "checksum": {"name": "sha256", "checksum": "c84e7a8de947ba3bc3101e41f3ce4686265dc854469da158e839759dc2844303"}, "tags": [], "refs": [["stg_pinterest_ads__ad_group_history_tmp"], ["stg_pinterest_ads__ad_group_history_tmp"]], "sources": [], "description": "Each record represents a version of a Pinterest Ad Group.", "columns": {"ad_group_id": {"name": "ad_group_id", "description": "Ad group ID.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_id": {"name": "campaign_id", "description": "Parent Campaign ID.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "created_at": {"name": "created_at", "description": "Ad group creation time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_name": {"name": "ad_group_name", "description": "Ad group name.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_status": {"name": "ad_group_status", "description": "The status of the Ad group. One of \"ACTIVE\", \"ARCHIVED\", \"PAUSED\"", "meta": {}, "data_type": null, "quote": null, "tags": []}, "start_time": {"name": "start_time", "description": "Ad group start time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "end_time": {"name": "end_time", "description": "Ad group end time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "is_most_recent_record": {"name": "is_most_recent_record", "description": "Boolean representing whether the record is the most recent version of the object.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "pinterest_source://models/stg_pinterest_ads.yml", "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads__ad_group_history.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "table"}, "created_at": 1656628610.1321862, "compiled_sql": "with base as (\n\n select *\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__ad_group_history_tmp\"\n), \n\nfields as (\n\n select\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n campaign_id\n \n as \n \n campaign_id\n \n, \n \n \n created_time\n \n as \n \n created_time\n \n, \n \n \n end_time\n \n as \n \n end_time\n \n, \n \n \n id\n \n as \n \n id\n \n, \n \n \n name\n \n as \n \n name\n \n, \n \n \n start_time\n \n as \n \n start_time\n \n, \n \n \n status\n \n as \n \n status\n \n\n\n\n from base\n), \n\nfinal as (\n\n select \n id as ad_group_id,\n name as ad_group_name,\n status as ad_group_status,\n _fivetran_synced,\n campaign_id,\n created_time as created_at,\n end_time,\n start_time\n from fields\n),\n\nmost_recent as (\n select\n *,\n row_number() over (partition by ad_group_id order by _fivetran_synced desc) = 1 as is_most_recent_record\n from final\n)\n\nselect *\nfrom most_recent", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__ad_group_history\""}, "model.pinterest_source.stg_pinterest_ads__advertiser_history_tmp": {"raw_sql": "select * \nfrom {{ var('advertiser_history') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.pinterest_source.pinterest_ads.advertiser_history"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "tmp", "stg_pinterest_ads__advertiser_history_tmp"], "unique_id": "model.pinterest_source.stg_pinterest_ads__advertiser_history_tmp", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "tmp/stg_pinterest_ads__advertiser_history_tmp.sql", "original_file_path": "models/tmp/stg_pinterest_ads__advertiser_history_tmp.sql", "name": "stg_pinterest_ads__advertiser_history_tmp", "alias": "stg_pinterest_ads__advertiser_history_tmp", "checksum": {"name": "sha256", "checksum": "60dc1039a40b4fd101ac71b52584219ef441b8f3231fab7270a1725731849343"}, "tags": [], "refs": [], "sources": [["pinterest_ads", "advertiser_history"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/tmp/stg_pinterest_ads__advertiser_history_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "view"}, "created_at": 1656628610.091489, "compiled_sql": "select * \nfrom \"postgres\".\"pinterest_source_integration_tests\".\"advertiser_history_data\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__advertiser_history_tmp\""}, "model.pinterest_source.stg_pinterest_ads__pin_promotion_report_tmp": {"raw_sql": "select *\nfrom {{ var('pin_promotion_report') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.pinterest_source.pinterest_ads.pin_promotion_report"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "tmp", "stg_pinterest_ads__pin_promotion_report_tmp"], "unique_id": "model.pinterest_source.stg_pinterest_ads__pin_promotion_report_tmp", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "tmp/stg_pinterest_ads__pin_promotion_report_tmp.sql", "original_file_path": "models/tmp/stg_pinterest_ads__pin_promotion_report_tmp.sql", "name": "stg_pinterest_ads__pin_promotion_report_tmp", "alias": "stg_pinterest_ads__pin_promotion_report_tmp", "checksum": {"name": "sha256", "checksum": "18cfa5bd72f823f350eb4fd5f5400957cc628d66510236ca582e0186f4ed24f4"}, "tags": [], "refs": [], "sources": [["pinterest_ads", "pin_promotion_report"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/tmp/stg_pinterest_ads__pin_promotion_report_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "view"}, "created_at": 1656628610.095745, "compiled_sql": "select *\nfrom \"postgres\".\"pinterest_source_integration_tests\".\"pin_promotion_report_data\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__pin_promotion_report_tmp\""}, "model.pinterest_source.stg_pinterest_ads__campaign_report_tmp": {"raw_sql": "select * \nfrom {{ var('campaign_report') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.pinterest_source.pinterest_ads.campaign_report"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "tmp", "stg_pinterest_ads__campaign_report_tmp"], "unique_id": "model.pinterest_source.stg_pinterest_ads__campaign_report_tmp", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "tmp/stg_pinterest_ads__campaign_report_tmp.sql", "original_file_path": "models/tmp/stg_pinterest_ads__campaign_report_tmp.sql", "name": "stg_pinterest_ads__campaign_report_tmp", "alias": "stg_pinterest_ads__campaign_report_tmp", "checksum": {"name": "sha256", "checksum": "5f611ed15f119a95ac9ba29f2463d1924782790c0678cfca4fd0f25aab4d4296"}, "tags": [], "refs": [], "sources": [["pinterest_ads", "campaign_report"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/tmp/stg_pinterest_ads__campaign_report_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "view"}, "created_at": 1656628610.0989099, "compiled_sql": "select * \nfrom \"postgres\".\"pinterest_source_integration_tests\".\"campaign_report_data\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__campaign_report_tmp\""}, "model.pinterest_source.stg_pinterest_ads__advertiser_report_tmp": {"raw_sql": "select * \nfrom {{ var('advertiser_report') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.pinterest_source.pinterest_ads.advertiser_report"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "tmp", "stg_pinterest_ads__advertiser_report_tmp"], "unique_id": "model.pinterest_source.stg_pinterest_ads__advertiser_report_tmp", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "tmp/stg_pinterest_ads__advertiser_report_tmp.sql", "original_file_path": "models/tmp/stg_pinterest_ads__advertiser_report_tmp.sql", "name": "stg_pinterest_ads__advertiser_report_tmp", "alias": "stg_pinterest_ads__advertiser_report_tmp", "checksum": {"name": "sha256", "checksum": "68f4f29d7cc41371c11bca9e1ac615df584965bb7be78dda187252b1893b6a17"}, "tags": [], "refs": [], "sources": [["pinterest_ads", "advertiser_report"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/tmp/stg_pinterest_ads__advertiser_report_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "view"}, "created_at": 1656628610.1014369, "compiled_sql": "select * \nfrom \"postgres\".\"pinterest_source_integration_tests\".\"advertiser_report_data\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__advertiser_report_tmp\""}, "model.pinterest_source.stg_pinterest_ads__keyword_report_tmp": {"raw_sql": "select * \nfrom {{ var('keyword_report') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.pinterest_source.pinterest_ads.keyword_report"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "tmp", "stg_pinterest_ads__keyword_report_tmp"], "unique_id": "model.pinterest_source.stg_pinterest_ads__keyword_report_tmp", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "tmp/stg_pinterest_ads__keyword_report_tmp.sql", "original_file_path": "models/tmp/stg_pinterest_ads__keyword_report_tmp.sql", "name": "stg_pinterest_ads__keyword_report_tmp", "alias": "stg_pinterest_ads__keyword_report_tmp", "checksum": {"name": "sha256", "checksum": "180a05437502b97ae4654b06e70dee2f2324b4b80815c2be214cdc9cfcb4a99d"}, "tags": [], "refs": [], "sources": [["pinterest_ads", "keyword_report"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/tmp/stg_pinterest_ads__keyword_report_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "view"}, "created_at": 1656628610.104318, "compiled_sql": "select * \nfrom \"postgres\".\"pinterest_source_integration_tests\".\"keyword_report_data\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__keyword_report_tmp\""}, "model.pinterest_source.stg_pinterest_ads__ad_group_report_tmp": {"raw_sql": "select * \nfrom {{ var('ad_group_report') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.pinterest_source.pinterest_ads.ad_group_report"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "tmp", "stg_pinterest_ads__ad_group_report_tmp"], "unique_id": "model.pinterest_source.stg_pinterest_ads__ad_group_report_tmp", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "tmp/stg_pinterest_ads__ad_group_report_tmp.sql", "original_file_path": "models/tmp/stg_pinterest_ads__ad_group_report_tmp.sql", "name": "stg_pinterest_ads__ad_group_report_tmp", "alias": "stg_pinterest_ads__ad_group_report_tmp", "checksum": {"name": "sha256", "checksum": "7302e33164e446b0631e0dda341de8949d3ead51adddb6ba93fbda32b00449e2"}, "tags": [], "refs": [], "sources": [["pinterest_ads", "ad_group_report"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/tmp/stg_pinterest_ads__ad_group_report_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "view"}, "created_at": 1656628610.1073742, "compiled_sql": "select * \nfrom \"postgres\".\"pinterest_source_integration_tests\".\"ad_group_report_data\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__ad_group_report_tmp\""}, "model.pinterest_source.stg_pinterest_ads__keyword_history_tmp": {"raw_sql": "select * \nfrom {{ var('keyword_history') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.pinterest_source.pinterest_ads.keyword_history"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "tmp", "stg_pinterest_ads__keyword_history_tmp"], "unique_id": "model.pinterest_source.stg_pinterest_ads__keyword_history_tmp", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "tmp/stg_pinterest_ads__keyword_history_tmp.sql", "original_file_path": "models/tmp/stg_pinterest_ads__keyword_history_tmp.sql", "name": "stg_pinterest_ads__keyword_history_tmp", "alias": "stg_pinterest_ads__keyword_history_tmp", "checksum": {"name": "sha256", "checksum": "beb1849e58089e1dbb21b3eca90782b48e6de96d5df38693417b91488ac622b1"}, "tags": [], "refs": [], "sources": [["pinterest_ads", "keyword_history"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/tmp/stg_pinterest_ads__keyword_history_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "view"}, "created_at": 1656628610.110187, "compiled_sql": "select * \nfrom \"postgres\".\"pinterest_source_integration_tests\".\"keyword_history_data\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__keyword_history_tmp\""}, "model.pinterest_source.stg_pinterest_ads__campaign_history_tmp": {"raw_sql": "select *\nfrom {{ var('campaign_history') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.pinterest_source.pinterest_ads.campaign_history"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "tmp", "stg_pinterest_ads__campaign_history_tmp"], "unique_id": "model.pinterest_source.stg_pinterest_ads__campaign_history_tmp", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "tmp/stg_pinterest_ads__campaign_history_tmp.sql", "original_file_path": "models/tmp/stg_pinterest_ads__campaign_history_tmp.sql", "name": "stg_pinterest_ads__campaign_history_tmp", "alias": "stg_pinterest_ads__campaign_history_tmp", "checksum": {"name": "sha256", "checksum": "ea41c8d4ba83ff540a5f38f481cbd17406e99954f8b9b7b086ac94203a8dd6bd"}, "tags": [], "refs": [], "sources": [["pinterest_ads", "campaign_history"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/tmp/stg_pinterest_ads__campaign_history_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "view"}, "created_at": 1656628610.112958, "compiled_sql": "select *\nfrom \"postgres\".\"pinterest_source_integration_tests\".\"campaign_history_data\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__campaign_history_tmp\""}, "model.pinterest_source.stg_pinterest_ads__ad_group_history_tmp": {"raw_sql": "select *\nfrom {{ var('ad_group_history') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.pinterest_source.pinterest_ads.ad_group_history"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "tmp", "stg_pinterest_ads__ad_group_history_tmp"], "unique_id": "model.pinterest_source.stg_pinterest_ads__ad_group_history_tmp", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "tmp/stg_pinterest_ads__ad_group_history_tmp.sql", "original_file_path": "models/tmp/stg_pinterest_ads__ad_group_history_tmp.sql", "name": "stg_pinterest_ads__ad_group_history_tmp", "alias": "stg_pinterest_ads__ad_group_history_tmp", "checksum": {"name": "sha256", "checksum": "23726e9b019c8268e9aaae828c6c1430685538bef615e52f2c17436dd3615dfa"}, "tags": [], "refs": [], "sources": [["pinterest_ads", "ad_group_history"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/tmp/stg_pinterest_ads__ad_group_history_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "view"}, "created_at": 1656628610.116661, "compiled_sql": "select *\nfrom \"postgres\".\"pinterest_source_integration_tests\".\"ad_group_history_data\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__ad_group_history_tmp\""}, "model.pinterest_source.stg_pinterest_ads__pin_promotion_history_tmp": {"raw_sql": "select *\nfrom {{ var('pin_promotion_history') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.pinterest_source.pinterest_ads.pin_promotion_history"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "tmp", "stg_pinterest_ads__pin_promotion_history_tmp"], "unique_id": "model.pinterest_source.stg_pinterest_ads__pin_promotion_history_tmp", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "tmp/stg_pinterest_ads__pin_promotion_history_tmp.sql", "original_file_path": "models/tmp/stg_pinterest_ads__pin_promotion_history_tmp.sql", "name": "stg_pinterest_ads__pin_promotion_history_tmp", "alias": "stg_pinterest_ads__pin_promotion_history_tmp", "checksum": {"name": "sha256", "checksum": "065bd24ab667bb3742cf11e3d96295c4c78ecdc04bb4d86a8bfa521482c55e71"}, "tags": [], "refs": [], "sources": [["pinterest_ads", "pin_promotion_history"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/tmp/stg_pinterest_ads__pin_promotion_history_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "view"}, "created_at": 1656628610.1194701, "compiled_sql": "select *\nfrom \"postgres\".\"pinterest_source_integration_tests\".\"pin_promotion_history_data\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__pin_promotion_history_tmp\""}, "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_history_ad_group_id.220c6220be": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "ad_group_id", "model": "{{ get_where_subquery(ref('stg_pinterest_ads__ad_group_history')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.pinterest_source.stg_pinterest_ads__ad_group_history"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "postgres", "schema": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "not_null_stg_pinterest_ads__ad_group_history_ad_group_id"], "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_history_ad_group_id.220c6220be", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "not_null_stg_pinterest_ads__ad_group_history_ad_group_id.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "not_null_stg_pinterest_ads__ad_group_history_ad_group_id", "alias": "not_null_stg_pinterest_ads__ad_group_history_ad_group_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__ad_group_history"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/not_null_stg_pinterest_ads__ad_group_history_ad_group_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1656628610.153436, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__ad_group_history\"\nwhere ad_group_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "ad_group_id", "file_key_name": "models.stg_pinterest_ads__ad_group_history"}, "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_history_ad_group_id___fivetran_synced.1132e1f339": {"raw_sql": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_14ec492421aa290adbd40aba9f38efa7\") }}", "test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["ad_group_id", "_fivetran_synced"], "model": "{{ get_where_subquery(ref('stg_pinterest_ads__ad_group_history')) }}"}, "namespace": "dbt_utils"}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.pinterest_source.stg_pinterest_ads__ad_group_history"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_14ec492421aa290adbd40aba9f38efa7", "schema": "dbt_test__audit", "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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_history_ad_group_id___fivetran_synced"], "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_history_ad_group_id___fivetran_synced.1132e1f339", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "dbt_utils_unique_combination_o_14ec492421aa290adbd40aba9f38efa7.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_history_ad_group_id___fivetran_synced", "alias": "dbt_utils_unique_combination_o_14ec492421aa290adbd40aba9f38efa7", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__ad_group_history"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/dbt_utils_unique_combination_o_14ec492421aa290adbd40aba9f38efa7.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_14ec492421aa290adbd40aba9f38efa7"}, "created_at": 1656628610.154686, "compiled_sql": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n ad_group_id, _fivetran_synced\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__ad_group_history\"\n group by ad_group_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_pinterest_ads__ad_group_history"}, "test.pinterest_source.not_null_stg_pinterest_ads__campaign_history_campaign_id.60cb10d341": {"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_pinterest_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.pinterest_source.stg_pinterest_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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "not_null_stg_pinterest_ads__campaign_history_campaign_id"], "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__campaign_history_campaign_id.60cb10d341", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "not_null_stg_pinterest_ads__campaign_history_campaign_id.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "not_null_stg_pinterest_ads__campaign_history_campaign_id", "alias": "not_null_stg_pinterest_ads__campaign_history_campaign_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__campaign_history"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/not_null_stg_pinterest_ads__campaign_history_campaign_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1656628610.1622221, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_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_pinterest_ads__campaign_history"}, "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_history_campaign_id___fivetran_synced.eff7196b87": {"raw_sql": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_0f71f27ed6b0ce2d4940b4361559871b\") }}", "test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["campaign_id", "_fivetran_synced"], "model": "{{ get_where_subquery(ref('stg_pinterest_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.pinterest_source.stg_pinterest_ads__campaign_history"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_0f71f27ed6b0ce2d4940b4361559871b", "schema": "dbt_test__audit", "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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_history_campaign_id___fivetran_synced"], "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_history_campaign_id___fivetran_synced.eff7196b87", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "dbt_utils_unique_combination_o_0f71f27ed6b0ce2d4940b4361559871b.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_history_campaign_id___fivetran_synced", "alias": "dbt_utils_unique_combination_o_0f71f27ed6b0ce2d4940b4361559871b", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__campaign_history"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/dbt_utils_unique_combination_o_0f71f27ed6b0ce2d4940b4361559871b.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_0f71f27ed6b0ce2d4940b4361559871b"}, "created_at": 1656628610.163753, "compiled_sql": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n campaign_id, _fivetran_synced\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__campaign_history\"\n group by campaign_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_pinterest_ads__campaign_history"}, "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_history_pin_promotion_id.171995cd34": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}{{ config(alias=\"not_null_stg_pinterest_ads__pi_5cf03dfc3d2615f9d68ae62d55aa2b8f\") }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "pin_promotion_id", "model": "{{ get_where_subquery(ref('stg_pinterest_ads__pin_promotion_history')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_history"]}, "config": {"enabled": true, "alias": "not_null_stg_pinterest_ads__pi_5cf03dfc3d2615f9d68ae62d55aa2b8f", "schema": "dbt_test__audit", "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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "not_null_stg_pinterest_ads__pin_promotion_history_pin_promotion_id"], "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_history_pin_promotion_id.171995cd34", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "not_null_stg_pinterest_ads__pi_5cf03dfc3d2615f9d68ae62d55aa2b8f.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "not_null_stg_pinterest_ads__pin_promotion_history_pin_promotion_id", "alias": "not_null_stg_pinterest_ads__pi_5cf03dfc3d2615f9d68ae62d55aa2b8f", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__pin_promotion_history"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/not_null_stg_pinterest_ads__pi_5cf03dfc3d2615f9d68ae62d55aa2b8f.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "not_null_stg_pinterest_ads__pi_5cf03dfc3d2615f9d68ae62d55aa2b8f"}, "created_at": 1656628610.1868002, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__pin_promotion_history\"\nwhere pin_promotion_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "pin_promotion_id", "file_key_name": "models.stg_pinterest_ads__pin_promotion_history"}, "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_history__fivetran_synced__pin_promotion_id.8e9ab31ea9": {"raw_sql": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_e0501de9c3316348957b42725bcba175\") }}", "test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["_fivetran_synced", "pin_promotion_id"], "model": "{{ get_where_subquery(ref('stg_pinterest_ads__pin_promotion_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.pinterest_source.stg_pinterest_ads__pin_promotion_history"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_e0501de9c3316348957b42725bcba175", "schema": "dbt_test__audit", "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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_history__fivetran_synced__pin_promotion_id"], "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_history__fivetran_synced__pin_promotion_id.8e9ab31ea9", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "dbt_utils_unique_combination_o_e0501de9c3316348957b42725bcba175.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_history__fivetran_synced__pin_promotion_id", "alias": "dbt_utils_unique_combination_o_e0501de9c3316348957b42725bcba175", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__pin_promotion_history"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/dbt_utils_unique_combination_o_e0501de9c3316348957b42725bcba175.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_e0501de9c3316348957b42725bcba175"}, "created_at": 1656628610.1881511, "compiled_sql": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n _fivetran_synced, pin_promotion_id\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__pin_promotion_history\"\n group by _fivetran_synced, pin_promotion_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_pinterest_ads__pin_promotion_history"}, "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_report_date_day.ed272212a1": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "date_day", "model": "{{ get_where_subquery(ref('stg_pinterest_ads__pin_promotion_report')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "not_null_stg_pinterest_ads__pin_promotion_report_date_day"], "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_report_date_day.ed272212a1", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "not_null_stg_pinterest_ads__pin_promotion_report_date_day.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "not_null_stg_pinterest_ads__pin_promotion_report_date_day", "alias": "not_null_stg_pinterest_ads__pin_promotion_report_date_day", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__pin_promotion_report"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/not_null_stg_pinterest_ads__pin_promotion_report_date_day.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1656628610.1910489, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__pin_promotion_report\"\nwhere date_day is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "date_day", "file_key_name": "models.stg_pinterest_ads__pin_promotion_report"}, "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_report_pin_promotion_id.9c3c9f71ab": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}{{ config(alias=\"not_null_stg_pinterest_ads__pi_d0985f4b7b2bc6d5ec7f384cc03d6f4b\") }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "pin_promotion_id", "model": "{{ get_where_subquery(ref('stg_pinterest_ads__pin_promotion_report')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_report"]}, "config": {"enabled": true, "alias": "not_null_stg_pinterest_ads__pi_d0985f4b7b2bc6d5ec7f384cc03d6f4b", "schema": "dbt_test__audit", "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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "not_null_stg_pinterest_ads__pin_promotion_report_pin_promotion_id"], "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_report_pin_promotion_id.9c3c9f71ab", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "not_null_stg_pinterest_ads__pi_d0985f4b7b2bc6d5ec7f384cc03d6f4b.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "not_null_stg_pinterest_ads__pin_promotion_report_pin_promotion_id", "alias": "not_null_stg_pinterest_ads__pi_d0985f4b7b2bc6d5ec7f384cc03d6f4b", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__pin_promotion_report"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/not_null_stg_pinterest_ads__pi_d0985f4b7b2bc6d5ec7f384cc03d6f4b.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "not_null_stg_pinterest_ads__pi_d0985f4b7b2bc6d5ec7f384cc03d6f4b"}, "created_at": 1656628610.192069, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__pin_promotion_report\"\nwhere pin_promotion_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "pin_promotion_id", "file_key_name": "models.stg_pinterest_ads__pin_promotion_report"}, "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_report_date_day__pin_promotion_id.f30a887f4d": {"raw_sql": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_f9906fe67b3bd9891734121983e95908\") }}", "test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["date_day", "pin_promotion_id"], "model": "{{ get_where_subquery(ref('stg_pinterest_ads__pin_promotion_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.pinterest_source.stg_pinterest_ads__pin_promotion_report"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_f9906fe67b3bd9891734121983e95908", "schema": "dbt_test__audit", "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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_report_date_day__pin_promotion_id"], "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_report_date_day__pin_promotion_id.f30a887f4d", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "dbt_utils_unique_combination_o_f9906fe67b3bd9891734121983e95908.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_report_date_day__pin_promotion_id", "alias": "dbt_utils_unique_combination_o_f9906fe67b3bd9891734121983e95908", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__pin_promotion_report"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/dbt_utils_unique_combination_o_f9906fe67b3bd9891734121983e95908.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_f9906fe67b3bd9891734121983e95908"}, "created_at": 1656628610.193383, "compiled_sql": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n date_day, pin_promotion_id\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__pin_promotion_report\"\n group by date_day, pin_promotion_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_pinterest_ads__pin_promotion_report"}, "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_report_date_day.80e8904c4c": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "date_day", "model": "{{ get_where_subquery(ref('stg_pinterest_ads__ad_group_report')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.pinterest_source.stg_pinterest_ads__ad_group_report"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "postgres", "schema": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "not_null_stg_pinterest_ads__ad_group_report_date_day"], "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_report_date_day.80e8904c4c", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "not_null_stg_pinterest_ads__ad_group_report_date_day.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "not_null_stg_pinterest_ads__ad_group_report_date_day", "alias": "not_null_stg_pinterest_ads__ad_group_report_date_day", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__ad_group_report"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/not_null_stg_pinterest_ads__ad_group_report_date_day.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1656628610.196383, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__ad_group_report\"\nwhere date_day is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "date_day", "file_key_name": "models.stg_pinterest_ads__ad_group_report"}, "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_report_ad_group_id.bb8cf3c471": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "ad_group_id", "model": "{{ get_where_subquery(ref('stg_pinterest_ads__ad_group_report')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.pinterest_source.stg_pinterest_ads__ad_group_report"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "postgres", "schema": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "not_null_stg_pinterest_ads__ad_group_report_ad_group_id"], "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_report_ad_group_id.bb8cf3c471", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "not_null_stg_pinterest_ads__ad_group_report_ad_group_id.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "not_null_stg_pinterest_ads__ad_group_report_ad_group_id", "alias": "not_null_stg_pinterest_ads__ad_group_report_ad_group_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__ad_group_report"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/not_null_stg_pinterest_ads__ad_group_report_ad_group_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1656628610.1974242, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__ad_group_report\"\nwhere ad_group_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "ad_group_id", "file_key_name": "models.stg_pinterest_ads__ad_group_report"}, "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_report_date_day__ad_group_id.959c0f8422": {"raw_sql": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_102912c855f1f0127d704dffca6eb0d1\") }}", "test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["date_day", "ad_group_id"], "model": "{{ get_where_subquery(ref('stg_pinterest_ads__ad_group_report')) }}"}, "namespace": "dbt_utils"}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.pinterest_source.stg_pinterest_ads__ad_group_report"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_102912c855f1f0127d704dffca6eb0d1", "schema": "dbt_test__audit", "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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_report_date_day__ad_group_id"], "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_report_date_day__ad_group_id.959c0f8422", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "dbt_utils_unique_combination_o_102912c855f1f0127d704dffca6eb0d1.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_report_date_day__ad_group_id", "alias": "dbt_utils_unique_combination_o_102912c855f1f0127d704dffca6eb0d1", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__ad_group_report"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/dbt_utils_unique_combination_o_102912c855f1f0127d704dffca6eb0d1.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_102912c855f1f0127d704dffca6eb0d1"}, "created_at": 1656628610.198447, "compiled_sql": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n date_day, ad_group_id\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__ad_group_report\"\n group by date_day, ad_group_id\n having count(*) > 1\n\n)\n\nselect *\nfrom validation_errors\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": null, "file_key_name": "models.stg_pinterest_ads__ad_group_report"}, "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_history_advertiser_id.7d24f665fb": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "advertiser_id", "model": "{{ get_where_subquery(ref('stg_pinterest_ads__advertiser_history')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.pinterest_source.stg_pinterest_ads__advertiser_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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "not_null_stg_pinterest_ads__advertiser_history_advertiser_id"], "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_history_advertiser_id.7d24f665fb", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "not_null_stg_pinterest_ads__advertiser_history_advertiser_id.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "not_null_stg_pinterest_ads__advertiser_history_advertiser_id", "alias": "not_null_stg_pinterest_ads__advertiser_history_advertiser_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__advertiser_history"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/not_null_stg_pinterest_ads__advertiser_history_advertiser_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1656628610.2012491, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__advertiser_history\"\nwhere advertiser_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "advertiser_id", "file_key_name": "models.stg_pinterest_ads__advertiser_history"}, "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_history_updated_at__advertiser_id.94e8f4de4b": {"raw_sql": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_ac571a135eb9bbe6db1401c33b830733\") }}", "test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["updated_at", "advertiser_id"], "model": "{{ get_where_subquery(ref('stg_pinterest_ads__advertiser_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.pinterest_source.stg_pinterest_ads__advertiser_history"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_ac571a135eb9bbe6db1401c33b830733", "schema": "dbt_test__audit", "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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_history_updated_at__advertiser_id"], "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_history_updated_at__advertiser_id.94e8f4de4b", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "dbt_utils_unique_combination_o_ac571a135eb9bbe6db1401c33b830733.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_history_updated_at__advertiser_id", "alias": "dbt_utils_unique_combination_o_ac571a135eb9bbe6db1401c33b830733", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__advertiser_history"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/dbt_utils_unique_combination_o_ac571a135eb9bbe6db1401c33b830733.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_ac571a135eb9bbe6db1401c33b830733"}, "created_at": 1656628610.202271, "compiled_sql": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n updated_at, advertiser_id\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__advertiser_history\"\n group by updated_at, advertiser_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_pinterest_ads__advertiser_history"}, "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_report_date_day.153bd03c95": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "date_day", "model": "{{ get_where_subquery(ref('stg_pinterest_ads__advertiser_report')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.pinterest_source.stg_pinterest_ads__advertiser_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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "not_null_stg_pinterest_ads__advertiser_report_date_day"], "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_report_date_day.153bd03c95", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "not_null_stg_pinterest_ads__advertiser_report_date_day.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "not_null_stg_pinterest_ads__advertiser_report_date_day", "alias": "not_null_stg_pinterest_ads__advertiser_report_date_day", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__advertiser_report"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/not_null_stg_pinterest_ads__advertiser_report_date_day.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1656628610.2049952, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__advertiser_report\"\nwhere date_day is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "date_day", "file_key_name": "models.stg_pinterest_ads__advertiser_report"}, "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_report_advertiser_id.1b16ed73ff": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "advertiser_id", "model": "{{ get_where_subquery(ref('stg_pinterest_ads__advertiser_report')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.pinterest_source.stg_pinterest_ads__advertiser_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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "not_null_stg_pinterest_ads__advertiser_report_advertiser_id"], "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_report_advertiser_id.1b16ed73ff", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "not_null_stg_pinterest_ads__advertiser_report_advertiser_id.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "not_null_stg_pinterest_ads__advertiser_report_advertiser_id", "alias": "not_null_stg_pinterest_ads__advertiser_report_advertiser_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__advertiser_report"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/not_null_stg_pinterest_ads__advertiser_report_advertiser_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1656628610.2061691, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__advertiser_report\"\nwhere advertiser_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "advertiser_id", "file_key_name": "models.stg_pinterest_ads__advertiser_report"}, "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_report_date_day__advertiser_id.e92ce8a9c0": {"raw_sql": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_7440d10d36ca9b555b1bb533d442c6de\") }}", "test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["date_day", "advertiser_id"], "model": "{{ get_where_subquery(ref('stg_pinterest_ads__advertiser_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.pinterest_source.stg_pinterest_ads__advertiser_report"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_7440d10d36ca9b555b1bb533d442c6de", "schema": "dbt_test__audit", "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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_report_date_day__advertiser_id"], "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_report_date_day__advertiser_id.e92ce8a9c0", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "dbt_utils_unique_combination_o_7440d10d36ca9b555b1bb533d442c6de.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_report_date_day__advertiser_id", "alias": "dbt_utils_unique_combination_o_7440d10d36ca9b555b1bb533d442c6de", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__advertiser_report"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/dbt_utils_unique_combination_o_7440d10d36ca9b555b1bb533d442c6de.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_7440d10d36ca9b555b1bb533d442c6de"}, "created_at": 1656628610.207179, "compiled_sql": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n date_day, advertiser_id\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__advertiser_report\"\n group by date_day, advertiser_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_pinterest_ads__advertiser_report"}, "test.pinterest_source.not_null_stg_pinterest_ads__campaign_report_date_day.7ef5fb1238": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "date_day", "model": "{{ get_where_subquery(ref('stg_pinterest_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.pinterest_source.stg_pinterest_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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "not_null_stg_pinterest_ads__campaign_report_date_day"], "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__campaign_report_date_day.7ef5fb1238", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "not_null_stg_pinterest_ads__campaign_report_date_day.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "not_null_stg_pinterest_ads__campaign_report_date_day", "alias": "not_null_stg_pinterest_ads__campaign_report_date_day", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__campaign_report"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/not_null_stg_pinterest_ads__campaign_report_date_day.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1656628610.209908, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__campaign_report\"\nwhere date_day is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "date_day", "file_key_name": "models.stg_pinterest_ads__campaign_report"}, "test.pinterest_source.not_null_stg_pinterest_ads__campaign_report_campaign_id.a287eba0fc": {"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_pinterest_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.pinterest_source.stg_pinterest_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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "not_null_stg_pinterest_ads__campaign_report_campaign_id"], "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__campaign_report_campaign_id.a287eba0fc", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "not_null_stg_pinterest_ads__campaign_report_campaign_id.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "not_null_stg_pinterest_ads__campaign_report_campaign_id", "alias": "not_null_stg_pinterest_ads__campaign_report_campaign_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__campaign_report"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/not_null_stg_pinterest_ads__campaign_report_campaign_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1656628610.210913, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__campaign_report\"\nwhere campaign_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "campaign_id", "file_key_name": "models.stg_pinterest_ads__campaign_report"}, "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_report_date_day__campaign_id.968175d475": {"raw_sql": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_0c8355e1589626ebd0d1804da153d3b7\") }}", "test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["date_day", "campaign_id"], "model": "{{ get_where_subquery(ref('stg_pinterest_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.pinterest_source.stg_pinterest_ads__campaign_report"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_0c8355e1589626ebd0d1804da153d3b7", "schema": "dbt_test__audit", "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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_report_date_day__campaign_id"], "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_report_date_day__campaign_id.968175d475", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "dbt_utils_unique_combination_o_0c8355e1589626ebd0d1804da153d3b7.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_report_date_day__campaign_id", "alias": "dbt_utils_unique_combination_o_0c8355e1589626ebd0d1804da153d3b7", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__campaign_report"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/dbt_utils_unique_combination_o_0c8355e1589626ebd0d1804da153d3b7.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_0c8355e1589626ebd0d1804da153d3b7"}, "created_at": 1656628610.211915, "compiled_sql": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n date_day, campaign_id\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__campaign_report\"\n group by date_day, 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.stg_pinterest_ads__campaign_report"}, "test.pinterest_source.not_null_stg_pinterest_ads__keyword_history_keyword_id.246889377a": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "keyword_id", "model": "{{ get_where_subquery(ref('stg_pinterest_ads__keyword_history')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.pinterest_source.stg_pinterest_ads__keyword_history"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "postgres", "schema": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "not_null_stg_pinterest_ads__keyword_history_keyword_id"], "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__keyword_history_keyword_id.246889377a", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "not_null_stg_pinterest_ads__keyword_history_keyword_id.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "not_null_stg_pinterest_ads__keyword_history_keyword_id", "alias": "not_null_stg_pinterest_ads__keyword_history_keyword_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__keyword_history"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/not_null_stg_pinterest_ads__keyword_history_keyword_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1656628610.214605, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__keyword_history\"\nwhere keyword_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "keyword_id", "file_key_name": "models.stg_pinterest_ads__keyword_history"}, "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_history_keyword_id___fivetran_synced.e73fb0a4db": {"raw_sql": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_ec26c02aa227b5ef7cc6b4f64f99d1c4\") }}", "test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["keyword_id", "_fivetran_synced"], "model": "{{ get_where_subquery(ref('stg_pinterest_ads__keyword_history')) }}"}, "namespace": "dbt_utils"}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.pinterest_source.stg_pinterest_ads__keyword_history"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_ec26c02aa227b5ef7cc6b4f64f99d1c4", "schema": "dbt_test__audit", "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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_history_keyword_id___fivetran_synced"], "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_history_keyword_id___fivetran_synced.e73fb0a4db", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "dbt_utils_unique_combination_o_ec26c02aa227b5ef7cc6b4f64f99d1c4.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_history_keyword_id___fivetran_synced", "alias": "dbt_utils_unique_combination_o_ec26c02aa227b5ef7cc6b4f64f99d1c4", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__keyword_history"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/dbt_utils_unique_combination_o_ec26c02aa227b5ef7cc6b4f64f99d1c4.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_ec26c02aa227b5ef7cc6b4f64f99d1c4"}, "created_at": 1656628610.21577, "compiled_sql": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n keyword_id, _fivetran_synced\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__keyword_history\"\n group by keyword_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_pinterest_ads__keyword_history"}, "test.pinterest_source.not_null_stg_pinterest_ads__keyword_report_date_day.9937216300": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "date_day", "model": "{{ get_where_subquery(ref('stg_pinterest_ads__keyword_report')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.pinterest_source.stg_pinterest_ads__keyword_report"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "postgres", "schema": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "not_null_stg_pinterest_ads__keyword_report_date_day"], "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__keyword_report_date_day.9937216300", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "not_null_stg_pinterest_ads__keyword_report_date_day.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "not_null_stg_pinterest_ads__keyword_report_date_day", "alias": "not_null_stg_pinterest_ads__keyword_report_date_day", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__keyword_report"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/not_null_stg_pinterest_ads__keyword_report_date_day.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1656628610.2183628, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__keyword_report\"\nwhere date_day is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "date_day", "file_key_name": "models.stg_pinterest_ads__keyword_report"}, "test.pinterest_source.not_null_stg_pinterest_ads__keyword_report_keyword_id.5f00679c48": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "keyword_id", "model": "{{ get_where_subquery(ref('stg_pinterest_ads__keyword_report')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.pinterest_source.stg_pinterest_ads__keyword_report"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "postgres", "schema": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "not_null_stg_pinterest_ads__keyword_report_keyword_id"], "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__keyword_report_keyword_id.5f00679c48", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "not_null_stg_pinterest_ads__keyword_report_keyword_id.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "not_null_stg_pinterest_ads__keyword_report_keyword_id", "alias": "not_null_stg_pinterest_ads__keyword_report_keyword_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__keyword_report"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/not_null_stg_pinterest_ads__keyword_report_keyword_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1656628610.219518, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__keyword_report\"\nwhere keyword_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "keyword_id", "file_key_name": "models.stg_pinterest_ads__keyword_report"}, "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_report_date_day__keyword_id.fe6a646a5a": {"raw_sql": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_94b2fddbce48a3f704e0980f9065fdf9\") }}", "test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["date_day", "keyword_id"], "model": "{{ get_where_subquery(ref('stg_pinterest_ads__keyword_report')) }}"}, "namespace": "dbt_utils"}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.pinterest_source.stg_pinterest_ads__keyword_report"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_94b2fddbce48a3f704e0980f9065fdf9", "schema": "dbt_test__audit", "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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_report_date_day__keyword_id"], "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_report_date_day__keyword_id.fe6a646a5a", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "dbt_utils_unique_combination_o_94b2fddbce48a3f704e0980f9065fdf9.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_report_date_day__keyword_id", "alias": "dbt_utils_unique_combination_o_94b2fddbce48a3f704e0980f9065fdf9", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__keyword_report"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/dbt_utils_unique_combination_o_94b2fddbce48a3f704e0980f9065fdf9.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_94b2fddbce48a3f704e0980f9065fdf9"}, "created_at": 1656628610.220531, "compiled_sql": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n date_day, keyword_id\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__keyword_report\"\n group by date_day, keyword_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_pinterest_ads__keyword_report"}}, "sources": {"source.pinterest_source.pinterest_ads.pin_promotion_report": {"fqn": ["pinterest_source", "pinterest_ads", "pin_promotion_report"], "database": "postgres", "schema": "pinterest_source_integration_tests", "unique_id": "source.pinterest_source.pinterest_ads.pin_promotion_report", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "models/src_pinterest_ads.yml", "original_file_path": "models/src_pinterest_ads.yml", "name": "pin_promotion_report", "source_name": "pinterest_ads", "source_description": "", "loader": "Fivetran", "identifier": "pin_promotion_report_data", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 168, "period": "hour"}, "filter": null}, "external": null, "description": "Each record represents the daily performance of a Pinterest Pin promotion.", "columns": {"date": {"name": "date", "description": "The performance date of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "pin_promotion_id": {"name": "pin_promotion_id", "description": "The ID of the related Pin promotion.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_id": {"name": "ad_group_id", "description": "The ID of the related Ad group.", "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": []}, "advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impression_1": {"name": "impression_1", "description": "The number of paid pin impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impression_2": {"name": "impression_2", "description": "The number of earned pin impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clickthrough_1": {"name": "clickthrough_1", "description": "The number of paid pin clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clickthrough_2": {"name": "clickthrough_2", "description": "The number of earned outbound clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend_in_micro_dollar": {"name": "spend_in_micro_dollar", "description": "The amount of spend in micro dollars that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"pin_promotion_report_data\"", "created_at": 1656628610.24852}, "source.pinterest_source.pinterest_ads.pin_promotion_history": {"fqn": ["pinterest_source", "pinterest_ads", "pin_promotion_history"], "database": "postgres", "schema": "pinterest_source_integration_tests", "unique_id": "source.pinterest_source.pinterest_ads.pin_promotion_history", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "models/src_pinterest_ads.yml", "original_file_path": "models/src_pinterest_ads.yml", "name": "pin_promotion_history", "source_name": "pinterest_ads", "source_description": "", "loader": "Fivetran", "identifier": "pin_promotion_history_data", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 168, "period": "hour"}, "filter": null}, "external": null, "description": "Each record represents a version of a Pinterest Pin promotion.", "columns": {"id": {"name": "id", "description": "The ID of the related Pin promotion.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_id": {"name": "ad_group_id", "description": "The ID of the related Ad group.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "created_time": {"name": "created_time", "description": "Pin creation time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "destination_url": {"name": "destination_url", "description": "Pin destination URL.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Pin promotion name.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "pin_id": {"name": "pin_id", "description": "Original pin ID.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status": {"name": "status", "description": "The status of the Pin promotion. One of \"ACTIVE\", \"ARCHIVED\", \"PAUSED\"", "meta": {}, "data_type": null, "quote": null, "tags": []}, "creative_type": {"name": "creative_type", "description": "The creative type. \nOne of \"APP\", \"APP_VIDEO\", \"BOARD\", \"CAROUSEL\", \"CINEMATIC\", \"COMMERCE\", \"MAX_VIDEO\", \"NATIVE_VIDEO\", \"REGULAR\", \n\"SEARCH_PROMINENCE\", \"SEARCH_PROMINENCE_CAROUSEL\", \"SHOPPING\", \"SHOP_THE_PIN\", \"THIRD_PARTY\", or \"VIDEO\".\n", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"pin_promotion_history_data\"", "created_at": 1656628610.248624}, "source.pinterest_source.pinterest_ads.campaign_history": {"fqn": ["pinterest_source", "pinterest_ads", "campaign_history"], "database": "postgres", "schema": "pinterest_source_integration_tests", "unique_id": "source.pinterest_source.pinterest_ads.campaign_history", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "models/src_pinterest_ads.yml", "original_file_path": "models/src_pinterest_ads.yml", "name": "campaign_history", "source_name": "pinterest_ads", "source_description": "", "loader": "Fivetran", "identifier": "campaign_history_data", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 168, "period": "hour"}, "filter": null}, "external": null, "description": "Each record represents a version of a Pinterest Campaign.", "columns": {"id": {"name": "id", "description": "The ID of the related Campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "created_time": {"name": "created_time", "description": "Campaign creation time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Campaign name.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status": {"name": "status", "description": "The status of the Campaign. One of \"ACTIVE\", \"ARCHIVED\", \"PAUSED\"", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"campaign_history_data\"", "created_at": 1656628610.248697}, "source.pinterest_source.pinterest_ads.ad_group_history": {"fqn": ["pinterest_source", "pinterest_ads", "ad_group_history"], "database": "postgres", "schema": "pinterest_source_integration_tests", "unique_id": "source.pinterest_source.pinterest_ads.ad_group_history", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "models/src_pinterest_ads.yml", "original_file_path": "models/src_pinterest_ads.yml", "name": "ad_group_history", "source_name": "pinterest_ads", "source_description": "", "loader": "Fivetran", "identifier": "ad_group_history_data", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 168, "period": "hour"}, "filter": null}, "external": null, "description": "Each record represents a version of a Pinterest Ad Group.", "columns": {"id": {"name": "id", "description": "The ID of the related Ad group.", "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": []}, "created_time": {"name": "created_time", "description": "Ad group creation time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Ad group name.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status": {"name": "status", "description": "The status of the Ad group. One of \"ACTIVE\", \"ARCHIVED\", \"PAUSED\"", "meta": {}, "data_type": null, "quote": null, "tags": []}, "start_time": {"name": "start_time", "description": "Ad group start time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "end_time": {"name": "end_time", "description": "Ad group end time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"ad_group_history_data\"", "created_at": 1656628610.248769}, "source.pinterest_source.pinterest_ads.ad_group_report": {"fqn": ["pinterest_source", "pinterest_ads", "ad_group_report"], "database": "postgres", "schema": "pinterest_source_integration_tests", "unique_id": "source.pinterest_source.pinterest_ads.ad_group_report", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "models/src_pinterest_ads.yml", "original_file_path": "models/src_pinterest_ads.yml", "name": "ad_group_report", "source_name": "pinterest_ads", "source_description": "", "loader": "Fivetran", "identifier": "ad_group_report_data", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 168, "period": "hour"}, "filter": null}, "external": null, "description": "source table", "columns": {"date": {"name": "date", "description": "The performance date of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_id": {"name": "ad_group_id", "description": "The ID of the related Ad group.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_name": {"name": "ad_group_name", "description": "Name of the ad group.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_status": {"name": "ad_group_status", "description": "Status of the ad group.", "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": []}, "advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impression_1": {"name": "impression_1", "description": "The number of paid pin impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impression_2": {"name": "impression_2", "description": "The number of earned pin impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clickthrough_1": {"name": "clickthrough_1", "description": "The number of paid pin clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clickthrough_2": {"name": "clickthrough_2", "description": "The number of earned outbound clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend_in_micro_dollar": {"name": "spend_in_micro_dollar", "description": "The amount of spend in micro dollars that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"ad_group_report_data\"", "created_at": 1656628610.248843}, "source.pinterest_source.pinterest_ads.advertiser_history": {"fqn": ["pinterest_source", "pinterest_ads", "advertiser_history"], "database": "postgres", "schema": "pinterest_source_integration_tests", "unique_id": "source.pinterest_source.pinterest_ads.advertiser_history", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "models/src_pinterest_ads.yml", "original_file_path": "models/src_pinterest_ads.yml", "name": "advertiser_history", "source_name": "pinterest_ads", "source_description": "", "loader": "Fivetran", "identifier": "advertiser_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": "source table", "columns": {"id": {"name": "id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Name of the advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status": {"name": "status", "description": "Status of the advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "billing_profile_status": {"name": "billing_profile_status", "description": "Status of the billing profile.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "billing_type": {"name": "billing_type", "description": "The billing type of the advertiser. Will typically be CREDIT_CARD or INVOICE.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "country": {"name": "country", "description": "The country code where the advertiser is located.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "created_time": {"name": "created_time", "description": "Timestamp of when a record was created.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "currency": {"name": "currency", "description": "The currency code which the a", "meta": {}, "data_type": null, "quote": null, "tags": []}, "merchant_id": {"name": "merchant_id", "description": "Unique ID of the merchant associated with the advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "owner_user_id": {"name": "owner_user_id", "description": "Unique identifier of the owner user.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "updated_time": {"name": "updated_time", "description": "Timestamp of when a record was last updated.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"advertiser_history_data\"", "created_at": 1656628610.248917}, "source.pinterest_source.pinterest_ads.advertiser_report": {"fqn": ["pinterest_source", "pinterest_ads", "advertiser_report"], "database": "postgres", "schema": "pinterest_source_integration_tests", "unique_id": "source.pinterest_source.pinterest_ads.advertiser_report", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "models/src_pinterest_ads.yml", "original_file_path": "models/src_pinterest_ads.yml", "name": "advertiser_report", "source_name": "pinterest_ads", "source_description": "", "loader": "Fivetran", "identifier": "advertiser_report_data", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 168, "period": "hour"}, "filter": null}, "external": null, "description": "source table", "columns": {"date": {"name": "date", "description": "The performance date of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impression_1": {"name": "impression_1", "description": "The number of paid pin impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impression_2": {"name": "impression_2", "description": "The number of earned pin impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clickthrough_1": {"name": "clickthrough_1", "description": "The number of paid pin clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clickthrough_2": {"name": "clickthrough_2", "description": "The number of earned outbound clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend_in_micro_dollar": {"name": "spend_in_micro_dollar", "description": "The amount of spend in micro dollars that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"advertiser_report_data\"", "created_at": 1656628610.248986}, "source.pinterest_source.pinterest_ads.campaign_report": {"fqn": ["pinterest_source", "pinterest_ads", "campaign_report"], "database": "postgres", "schema": "pinterest_source_integration_tests", "unique_id": "source.pinterest_source.pinterest_ads.campaign_report", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "models/src_pinterest_ads.yml", "original_file_path": "models/src_pinterest_ads.yml", "name": "campaign_report", "source_name": "pinterest_ads", "source_description": "", "loader": "Fivetran", "identifier": "campaign_report_data", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 168, "period": "hour"}, "filter": null}, "external": null, "description": "source table", "columns": {"date": {"name": "date", "description": "The performance date of the record.", "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": "Name of the campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_status": {"name": "campaign_status", "description": "Status of the campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impression_1": {"name": "impression_1", "description": "The number of paid pin impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impression_2": {"name": "impression_2", "description": "The number of earned pin impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clickthrough_1": {"name": "clickthrough_1", "description": "The number of paid pin clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clickthrough_2": {"name": "clickthrough_2", "description": "The number of earned outbound clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend_in_micro_dollar": {"name": "spend_in_micro_dollar", "description": "The amount of spend in micro dollars that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"campaign_report_data\"", "created_at": 1656628610.2490911}, "source.pinterest_source.pinterest_ads.keyword_history": {"fqn": ["pinterest_source", "pinterest_ads", "keyword_history"], "database": "postgres", "schema": "pinterest_source_integration_tests", "unique_id": "source.pinterest_source.pinterest_ads.keyword_history", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "models/src_pinterest_ads.yml", "original_file_path": "models/src_pinterest_ads.yml", "name": "keyword_history", "source_name": "pinterest_ads", "source_description": "", "loader": "Fivetran", "identifier": "keyword_history_data", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 168, "period": "hour"}, "filter": null}, "external": null, "description": "source table", "columns": {"id": {"name": "id", "description": "Unique identifier of the keyword.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "value": {"name": "value", "description": "The text value that makes upd the keyword.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_id": {"name": "_fivetran_id", "description": "The unique identifier of the record within the Fivetran synced table.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_id": {"name": "ad_group_id", "description": "The ID of the related Ad group.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "archived": {"name": "archived", "description": "Boolean indicating if the keyword is archived.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "bid": {"name": "bid", "description": "Bid amount set for the keyword.", "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": []}, "match_type": {"name": "match_type", "description": "Type of match the keyword is tied to. Either Exact or Broad.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "parent_type": {"name": "parent_type", "description": "Identifier of what grain the parent type is. Ad group or campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"keyword_history_data\"", "created_at": 1656628610.249166}, "source.pinterest_source.pinterest_ads.keyword_report": {"fqn": ["pinterest_source", "pinterest_ads", "keyword_report"], "database": "postgres", "schema": "pinterest_source_integration_tests", "unique_id": "source.pinterest_source.pinterest_ads.keyword_report", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "models/src_pinterest_ads.yml", "original_file_path": "models/src_pinterest_ads.yml", "name": "keyword_report", "source_name": "pinterest_ads", "source_description": "", "loader": "Fivetran", "identifier": "keyword_report_data", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 168, "period": "hour"}, "filter": null}, "external": null, "description": "source table", "columns": {"date": {"name": "date", "description": "The performance date of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "keyword_id": {"name": "keyword_id", "description": "Unique identifier of the keyword.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "pin_promotion_id": {"name": "pin_promotion_id", "description": "The ID of the related Pin promotion.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_id": {"name": "ad_group_id", "description": "The ID of the related Ad group.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_name": {"name": "ad_group_name", "description": "Name of the ad group.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_status": {"name": "ad_group_status", "description": "Status of the ad group.", "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": []}, "advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impression_1": {"name": "impression_1", "description": "The number of paid pin impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impression_2": {"name": "impression_2", "description": "The number of earned pin impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clickthrough_1": {"name": "clickthrough_1", "description": "The number of paid pin clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clickthrough_2": {"name": "clickthrough_2", "description": "The number of earned outbound clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend_in_micro_dollar": {"name": "spend_in_micro_dollar", "description": "The amount of spend in micro dollars that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"keyword_report_data\"", "created_at": 1656628610.249244}}, "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": 1656628609.369663}, "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": 1656628609.370411}, "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": 1656628609.37624}, "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": 1656628609.3768}, "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": 1656628609.377153}, "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": 1656628609.377505}, "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": 1656628609.378033}, "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": 1656628609.3784451}, "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": 1656628609.378638}, "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": 1656628609.3790798}, "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": 1656628609.379529}, "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": 1656628609.3796139}, "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": 1656628609.379812}, "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": 1656628609.379929}, "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": 1656628609.380948}, "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": 1656628609.381415}, "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": 1656628609.381655}, "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": 1656628609.382308}, "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": 1656628609.38319}, "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": 1656628609.384407}, "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": 1656628609.384625}, "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": 1656628609.384779}, "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": 1656628609.384931}, "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": 1656628609.385084}, "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": 1656628609.385548}, "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": 1656628609.3858712}, "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": 1656628609.386194}, "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": 1656628609.3867168}, "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": 1656628609.3870132}, "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": 1656628609.390667}, "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": 1656628609.390848}, "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": 1656628609.3910651}, "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": 1656628609.3912058}, "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": 1656628609.3913028}, "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": 1656628609.39209}, "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": 1656628609.392253}, "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": 1656628609.39242}, "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": 1656628609.393402}, "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": 1656628609.3952372}, "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": 1656628609.398506}, "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": 1656628609.398893}, "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": 1656628609.3991182}, "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": 1656628609.399217}, "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": 1656628609.399435}, "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": 1656628609.400447}, "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": 1656628609.400754}, "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": 1656628609.401046}, "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": 1656628609.401508}, "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": 1656628609.407679}, "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": 1656628609.4100852}, "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": 1656628609.4107652}, "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": 1656628609.411099}, "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": 1656628609.411603}, "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": 1656628609.412013}, "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": 1656628609.4129229}, "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": 1656628609.413495}, "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": 1656628609.414176}, "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": 1656628609.417102}, "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": 1656628609.4183412}, "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": 1656628609.4185972}, "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": 1656628609.419046}, "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": 1656628609.4193249}, "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": 1656628609.420046}, "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": 1656628609.4209092}, "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": 1656628609.426167}, "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": 1656628609.431309}, "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": 1656628609.4326122}, "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": 1656628609.433894}, "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": 1656628609.434679}, "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": 1656628609.438817}, "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": 1656628609.4394}, "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": 1656628609.439602}, "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": 1656628609.4398148}, "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": 1656628609.4402618}, "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": 1656628609.444104}, "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": 1656628609.44451}, "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": 1656628609.444747}, "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": 1656628609.446099}, "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": 1656628609.446562}, "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": 1656628609.446738}, "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": 1656628609.446937}, "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": 1656628609.447218}, "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": 1656628609.450342}, "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": 1656628609.4546251}, "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": 1656628609.455609}, "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": 1656628609.455866}, "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": 1656628609.456386}, "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": 1656628609.456542}, "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": 1656628609.456667}, "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": 1656628609.456842}, "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": 1656628609.456969}, "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": 1656628609.4574878}, "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": 1656628609.457821}, "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": 1656628609.459177}, "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": 1656628609.4597208}, "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": 1656628609.4599721}, "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": 1656628609.460607}, "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": 1656628609.460892}, "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": 1656628609.46129}, "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": 1656628609.461896}, "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": 1656628609.462152}, "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": 1656628609.46258}, "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": 1656628609.462831}, "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": 1656628609.46315}, "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": 1656628609.463777}, "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": 1656628609.46494}, "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": 1656628609.465536}, "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": 1656628609.4658382}, "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": 1656628609.467663}, "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": 1656628609.4690628}, "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": 1656628609.4698749}, "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": 1656628609.470129}, "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": 1656628609.470706}, "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": 1656628609.470905}, "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": 1656628609.471081}, "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": 1656628609.471276}, "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": 1656628609.471838}, "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": 1656628609.4719832}, "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": 1656628609.472151}, "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": 1656628609.472576}, "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": 1656628609.474305}, "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": 1656628609.4746292}, "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": 1656628609.474825}, "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": 1656628609.47505}, "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": 1656628609.4752462}, "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": 1656628609.475415}, "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": 1656628609.475629}, "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": 1656628609.475934}, "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": 1656628609.476202}, "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": 1656628609.47689}, "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": 1656628609.477143}, "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": 1656628609.477352}, "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": 1656628609.477941}, "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": 1656628609.478109}, "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": 1656628609.4783611}, "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": 1656628609.4788249}, "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": 1656628609.479606}, "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": 1656628609.479787}, "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": 1656628609.4800131}, "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": 1656628609.4801931}, "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": 1656628609.480486}, "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": 1656628609.4810162}, "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": 1656628609.482562}, "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": 1656628609.482837}, "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": 1656628609.4830341}, "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": 1656628609.4832041}, "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": 1656628609.483402}, "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": 1656628609.4836721}, "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": 1656628609.483892}, "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": 1656628609.484406}, "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": 1656628609.484606}, "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": 1656628609.48478}, "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": 1656628609.486631}, "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": 1656628609.486806}, "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": 1656628609.487139}, "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": 1656628609.48734}, "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": 1656628609.487714}, "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": 1656628609.487975}, "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": 1656628609.488645}, "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": 1656628609.488928}, "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": 1656628609.4897852}, "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": 1656628609.490438}, "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": 1656628609.49069}, "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": 1656628609.491004}, "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": 1656628609.4913049}, "macro.dbt_utils.except": {"unique_id": "macro.dbt_utils.except", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.4916658}, "macro.dbt_utils.default__except": {"unique_id": "macro.dbt_utils.default__except", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.491744}, "macro.dbt_utils.bigquery__except": {"unique_id": "macro.dbt_utils.bigquery__except", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.49182}, "macro.dbt_utils.replace": {"unique_id": "macro.dbt_utils.replace", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.4922712}, "macro.dbt_utils.default__replace": {"unique_id": "macro.dbt_utils.default__replace", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.492448}, "macro.dbt_utils.concat": {"unique_id": "macro.dbt_utils.concat", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.492787}, "macro.dbt_utils.default__concat": {"unique_id": "macro.dbt_utils.default__concat", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.493015}, "macro.dbt_utils.type_string": {"unique_id": "macro.dbt_utils.type_string", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.493796}, "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/pinterest/dbt_pinterest_source/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": 1656628609.493876}, "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/pinterest/dbt_pinterest_source/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": 1656628609.493953}, "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/pinterest/dbt_pinterest_source/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": 1656628609.494027}, "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/pinterest/dbt_pinterest_source/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": 1656628609.494103}, "macro.dbt_utils.type_timestamp": {"unique_id": "macro.dbt_utils.type_timestamp", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.494275}, "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/pinterest/dbt_pinterest_source/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": 1656628609.4943502}, "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/pinterest/dbt_pinterest_source/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": 1656628609.494424}, "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/pinterest/dbt_pinterest_source/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": 1656628609.494495}, "macro.dbt_utils.type_float": {"unique_id": "macro.dbt_utils.type_float", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.494664}, "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/pinterest/dbt_pinterest_source/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": 1656628609.49474}, "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/pinterest/dbt_pinterest_source/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": 1656628609.494813}, "macro.dbt_utils.type_numeric": {"unique_id": "macro.dbt_utils.type_numeric", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.494982}, "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/pinterest/dbt_pinterest_source/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": 1656628609.495062}, "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/pinterest/dbt_pinterest_source/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": 1656628609.4951391}, "macro.dbt_utils.type_bigint": {"unique_id": "macro.dbt_utils.type_bigint", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.495311}, "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/pinterest/dbt_pinterest_source/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": 1656628609.495389}, "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/pinterest/dbt_pinterest_source/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": 1656628609.495463}, "macro.dbt_utils.type_int": {"unique_id": "macro.dbt_utils.type_int", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.4957}, "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/pinterest/dbt_pinterest_source/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": 1656628609.495776}, "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/pinterest/dbt_pinterest_source/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": 1656628609.4958458}, "macro.dbt_utils._is_relation": {"unique_id": "macro.dbt_utils._is_relation", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.496408}, "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/pinterest/dbt_pinterest_source/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": 1656628609.496918}, "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/pinterest/dbt_pinterest_source/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": 1656628609.4970691}, "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/pinterest/dbt_pinterest_source/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": 1656628609.497397}, "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/pinterest/dbt_pinterest_source/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": 1656628609.497552}, "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/pinterest/dbt_pinterest_source/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": 1656628609.497665}, "macro.dbt_utils.length": {"unique_id": "macro.dbt_utils.length", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.49807}, "macro.dbt_utils.default__length": {"unique_id": "macro.dbt_utils.default__length", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.498185}, "macro.dbt_utils.redshift__length": {"unique_id": "macro.dbt_utils.redshift__length", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.498294}, "macro.dbt_utils.dateadd": {"unique_id": "macro.dbt_utils.dateadd", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.498962}, "macro.dbt_utils.default__dateadd": {"unique_id": "macro.dbt_utils.default__dateadd", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.499136}, "macro.dbt_utils.bigquery__dateadd": {"unique_id": "macro.dbt_utils.bigquery__dateadd", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.499307}, "macro.dbt_utils.postgres__dateadd": {"unique_id": "macro.dbt_utils.postgres__dateadd", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.499477}, "macro.dbt_utils.redshift__dateadd": {"unique_id": "macro.dbt_utils.redshift__dateadd", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.4996831}, "macro.dbt_utils.intersect": {"unique_id": "macro.dbt_utils.intersect", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.500022}, "macro.dbt_utils.default__intersect": {"unique_id": "macro.dbt_utils.default__intersect", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.5000992}, "macro.dbt_utils.bigquery__intersect": {"unique_id": "macro.dbt_utils.bigquery__intersect", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.500174}, "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/pinterest/dbt_pinterest_source/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": 1656628609.500594}, "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/pinterest/dbt_pinterest_source/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": 1656628609.500743}, "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/pinterest/dbt_pinterest_source/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": 1656628609.500968}, "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/pinterest/dbt_pinterest_source/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": 1656628609.5011141}, "macro.dbt_utils.right": {"unique_id": "macro.dbt_utils.right", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.501748}, "macro.dbt_utils.default__right": {"unique_id": "macro.dbt_utils.default__right", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.501894}, "macro.dbt_utils.bigquery__right": {"unique_id": "macro.dbt_utils.bigquery__right", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.5020611}, "macro.dbt_utils.snowflake__right": {"unique_id": "macro.dbt_utils.snowflake__right", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.502225}, "macro.dbt_utils.listagg": {"unique_id": "macro.dbt_utils.listagg", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.5046232}, "macro.dbt_utils.default__listagg": {"unique_id": "macro.dbt_utils.default__listagg", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.505067}, "macro.dbt_utils.bigquery__listagg": {"unique_id": "macro.dbt_utils.bigquery__listagg", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.505367}, "macro.dbt_utils.postgres__listagg": {"unique_id": "macro.dbt_utils.postgres__listagg", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.5057862}, "macro.dbt_utils.redshift__listagg": {"unique_id": "macro.dbt_utils.redshift__listagg", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.5068102}, "macro.dbt_utils.datediff": {"unique_id": "macro.dbt_utils.datediff", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.5095391}, "macro.dbt_utils.default__datediff": {"unique_id": "macro.dbt_utils.default__datediff", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.5097148}, "macro.dbt_utils.bigquery__datediff": {"unique_id": "macro.dbt_utils.bigquery__datediff", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.509879}, "macro.dbt_utils.postgres__datediff": {"unique_id": "macro.dbt_utils.postgres__datediff", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.511799}, "macro.dbt_utils.redshift__datediff": {"unique_id": "macro.dbt_utils.redshift__datediff", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.512019}, "macro.dbt_utils.safe_cast": {"unique_id": "macro.dbt_utils.safe_cast", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.5125031}, "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/pinterest/dbt_pinterest_source/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": 1656628609.512655}, "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/pinterest/dbt_pinterest_source/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": 1656628609.512788}, "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/pinterest/dbt_pinterest_source/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": 1656628609.5129201}, "macro.dbt_utils.hash": {"unique_id": "macro.dbt_utils.hash", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.513304}, "macro.dbt_utils.default__hash": {"unique_id": "macro.dbt_utils.default__hash", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.5134552}, "macro.dbt_utils.bigquery__hash": {"unique_id": "macro.dbt_utils.bigquery__hash", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.5135949}, "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/pinterest/dbt_pinterest_source/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": 1656628609.5139892}, "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/pinterest/dbt_pinterest_source/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": 1656628609.5141408}, "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/pinterest/dbt_pinterest_source/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": 1656628609.514278}, "macro.dbt_utils.identifier": {"unique_id": "macro.dbt_utils.identifier", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.514847}, "macro.dbt_utils.default__identifier": {"unique_id": "macro.dbt_utils.default__identifier", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.5149581}, "macro.dbt_utils.bigquery__identifier": {"unique_id": "macro.dbt_utils.bigquery__identifier", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.5150652}, "macro.dbt_utils.any_value": {"unique_id": "macro.dbt_utils.any_value", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.515441}, "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/pinterest/dbt_pinterest_source/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": 1656628609.515554}, "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/pinterest/dbt_pinterest_source/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": 1656628609.5156631}, "macro.dbt_utils.position": {"unique_id": "macro.dbt_utils.position", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.516117}, "macro.dbt_utils.default__position": {"unique_id": "macro.dbt_utils.default__position", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.516261}, "macro.dbt_utils.bigquery__position": {"unique_id": "macro.dbt_utils.bigquery__position", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.5164008}, "macro.dbt_utils.string_literal": {"unique_id": "macro.dbt_utils.string_literal", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.516801}, "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/pinterest/dbt_pinterest_source/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": 1656628609.516913}, "macro.dbt_utils.current_timestamp": {"unique_id": "macro.dbt_utils.current_timestamp", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.517538}, "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/pinterest/dbt_pinterest_source/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": 1656628609.517659}, "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/pinterest/dbt_pinterest_source/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": 1656628609.51773}, "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/pinterest/dbt_pinterest_source/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": 1656628609.517806}, "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/pinterest/dbt_pinterest_source/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": 1656628609.517973}, "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/pinterest/dbt_pinterest_source/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": 1656628609.518107}, "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/pinterest/dbt_pinterest_source/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": 1656628609.5182662}, "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/pinterest/dbt_pinterest_source/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": 1656628609.518385}, "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/pinterest/dbt_pinterest_source/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": 1656628609.5185301}, "macro.dbt_utils.width_bucket": {"unique_id": "macro.dbt_utils.width_bucket", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.520074}, "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/pinterest/dbt_pinterest_source/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": 1656628609.520581}, "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/pinterest/dbt_pinterest_source/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": 1656628609.52108}, "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/pinterest/dbt_pinterest_source/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": 1656628609.52129}, "macro.dbt_utils.array_concat": {"unique_id": "macro.dbt_utils.array_concat", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.521769}, "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/pinterest/dbt_pinterest_source/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": 1656628609.521913}, "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/pinterest/dbt_pinterest_source/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": 1656628609.5220501}, "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/pinterest/dbt_pinterest_source/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": 1656628609.522187}, "macro.dbt_utils.bool_or": {"unique_id": "macro.dbt_utils.bool_or", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.522604}, "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/pinterest/dbt_pinterest_source/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": 1656628609.5227141}, "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/pinterest/dbt_pinterest_source/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": 1656628609.522889}, "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/pinterest/dbt_pinterest_source/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": 1656628609.522997}, "macro.dbt_utils.last_day": {"unique_id": "macro.dbt_utils.last_day", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.523642}, "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/pinterest/dbt_pinterest_source/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": 1656628609.523935}, "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/pinterest/dbt_pinterest_source/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": 1656628609.5241}, "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/pinterest/dbt_pinterest_source/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": 1656628609.524528}, "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/pinterest/dbt_pinterest_source/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": 1656628609.5247202}, "macro.dbt_utils.split_part": {"unique_id": "macro.dbt_utils.split_part", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.5263019}, "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/pinterest/dbt_pinterest_source/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": 1656628609.526479}, "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/pinterest/dbt_pinterest_source/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": 1656628609.526722}, "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/pinterest/dbt_pinterest_source/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": 1656628609.5270798}, "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/pinterest/dbt_pinterest_source/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": 1656628609.527439}, "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/pinterest/dbt_pinterest_source/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": 1656628609.527819}, "macro.dbt_utils.date_trunc": {"unique_id": "macro.dbt_utils.date_trunc", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.5283022}, "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/pinterest/dbt_pinterest_source/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": 1656628609.5284631}, "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/pinterest/dbt_pinterest_source/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": 1656628609.5286138}, "macro.dbt_utils.array_construct": {"unique_id": "macro.dbt_utils.array_construct", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.52929}, "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/pinterest/dbt_pinterest_source/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": 1656628609.5295649}, "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/pinterest/dbt_pinterest_source/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": 1656628609.5297248}, "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/pinterest/dbt_pinterest_source/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": 1656628609.529879}, "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/pinterest/dbt_pinterest_source/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": 1656628609.530028}, "macro.dbt_utils._is_ephemeral": {"unique_id": "macro.dbt_utils._is_ephemeral", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.5310879}, "macro.dbt_utils.array_append": {"unique_id": "macro.dbt_utils.array_append", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.53156}, "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/pinterest/dbt_pinterest_source/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": 1656628609.531708}, "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/pinterest/dbt_pinterest_source/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": 1656628609.531917}, "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/pinterest/dbt_pinterest_source/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": 1656628609.5321212}, "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/pinterest/dbt_pinterest_source/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": 1656628609.538211}, "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/pinterest/dbt_pinterest_source/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": 1656628609.538778}, "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/pinterest/dbt_pinterest_source/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": 1656628609.539125}, "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/pinterest/dbt_pinterest_source/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": 1656628609.539669}, "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/pinterest/dbt_pinterest_source/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": 1656628609.547057}, "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/pinterest/dbt_pinterest_source/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": 1656628609.5478458}, "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/pinterest/dbt_pinterest_source/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": 1656628609.5483782}, "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/pinterest/dbt_pinterest_source/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": 1656628609.549006}, "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/pinterest/dbt_pinterest_source/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": 1656628609.549706}, "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/pinterest/dbt_pinterest_source/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": 1656628609.5501509}, "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/pinterest/dbt_pinterest_source/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": 1656628609.550499}, "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/pinterest/dbt_pinterest_source/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": 1656628609.551137}, "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/pinterest/dbt_pinterest_source/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": 1656628609.551384}, "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/pinterest/dbt_pinterest_source/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": 1656628609.552136}, "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/pinterest/dbt_pinterest_source/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": 1656628609.552598}, "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/pinterest/dbt_pinterest_source/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": 1656628609.553438}, "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/pinterest/dbt_pinterest_source/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": 1656628609.553805}, "macro.dbt_utils.test_recency": {"unique_id": "macro.dbt_utils.test_recency", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.554322}, "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/pinterest/dbt_pinterest_source/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": 1656628609.554898}, "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/pinterest/dbt_pinterest_source/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": 1656628609.555563}, "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/pinterest/dbt_pinterest_source/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": 1656628609.5557818}, "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/pinterest/dbt_pinterest_source/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": 1656628609.556778}, "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/pinterest/dbt_pinterest_source/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": 1656628609.557426}, "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/pinterest/dbt_pinterest_source/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": 1656628609.5581682}, "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/pinterest/dbt_pinterest_source/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": 1656628609.5585752}, "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/pinterest/dbt_pinterest_source/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": 1656628609.5591109}, "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/pinterest/dbt_pinterest_source/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": 1656628609.559293}, "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/pinterest/dbt_pinterest_source/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": 1656628609.5597079}, "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/pinterest/dbt_pinterest_source/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": 1656628609.559895}, "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/pinterest/dbt_pinterest_source/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": 1656628609.560586}, "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/pinterest/dbt_pinterest_source/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": 1656628609.5612748}, "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/pinterest/dbt_pinterest_source/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": 1656628609.5619478}, "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/pinterest/dbt_pinterest_source/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": 1656628609.5623062}, "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/pinterest/dbt_pinterest_source/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": 1656628609.56288}, "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/pinterest/dbt_pinterest_source/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": 1656628609.563188}, "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/pinterest/dbt_pinterest_source/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": 1656628609.563704}, "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/pinterest/dbt_pinterest_source/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": 1656628609.564258}, "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/pinterest/dbt_pinterest_source/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": 1656628609.5650098}, "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/pinterest/dbt_pinterest_source/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": 1656628609.5657449}, "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/pinterest/dbt_pinterest_source/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": 1656628609.566388}, "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/pinterest/dbt_pinterest_source/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": 1656628609.56658}, "macro.dbt_utils.test_equality": {"unique_id": "macro.dbt_utils.test_equality", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.56749}, "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/pinterest/dbt_pinterest_source/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": 1656628609.568438}, "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/pinterest/dbt_pinterest_source/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": 1656628609.571681}, "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/pinterest/dbt_pinterest_source/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": 1656628609.573295}, "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/pinterest/dbt_pinterest_source/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": 1656628609.573754}, "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/pinterest/dbt_pinterest_source/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": 1656628609.5739362}, "macro.dbt_utils.pretty_time": {"unique_id": "macro.dbt_utils.pretty_time", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.5743098}, "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/pinterest/dbt_pinterest_source/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": 1656628609.574531}, "macro.dbt_utils.log_info": {"unique_id": "macro.dbt_utils.log_info", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.574881}, "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/pinterest/dbt_pinterest_source/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": 1656628609.57507}, "macro.dbt_utils.slugify": {"unique_id": "macro.dbt_utils.slugify", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.575639}, "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/pinterest/dbt_pinterest_source/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": 1656628609.5765471}, "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/pinterest/dbt_pinterest_source/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": 1656628609.577224}, "macro.dbt_utils.date_spine": {"unique_id": "macro.dbt_utils.date_spine", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.577485}, "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/pinterest/dbt_pinterest_source/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": 1656628609.577878}, "macro.dbt_utils.nullcheck_table": {"unique_id": "macro.dbt_utils.nullcheck_table", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.578399}, "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/pinterest/dbt_pinterest_source/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": 1656628609.579108}, "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/pinterest/dbt_pinterest_source/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": 1656628609.579925}, "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/pinterest/dbt_pinterest_source/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": 1656628609.5808482}, "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/pinterest/dbt_pinterest_source/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": 1656628609.5818088}, "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/pinterest/dbt_pinterest_source/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": 1656628609.582268}, "macro.dbt_utils.generate_series": {"unique_id": "macro.dbt_utils.generate_series", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.582474}, "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/pinterest/dbt_pinterest_source/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": 1656628609.58302}, "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/pinterest/dbt_pinterest_source/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": 1656628609.583833}, "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/pinterest/dbt_pinterest_source/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": 1656628609.5847528}, "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/pinterest/dbt_pinterest_source/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": 1656628609.585338}, "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/pinterest/dbt_pinterest_source/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": 1656628609.585647}, "macro.dbt_utils.star": {"unique_id": "macro.dbt_utils.star", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.5866299}, "macro.dbt_utils.default__star": {"unique_id": "macro.dbt_utils.default__star", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.587827}, "macro.dbt_utils.unpivot": {"unique_id": "macro.dbt_utils.unpivot", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.5898519}, "macro.dbt_utils.default__unpivot": {"unique_id": "macro.dbt_utils.default__unpivot", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.615718}, "macro.dbt_utils.union_relations": {"unique_id": "macro.dbt_utils.union_relations", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.618656}, "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/pinterest/dbt_pinterest_source/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": 1656628609.621978}, "macro.dbt_utils.group_by": {"unique_id": "macro.dbt_utils.group_by", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.622442}, "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/pinterest/dbt_pinterest_source/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": 1656628609.622724}, "macro.dbt_utils.deduplicate": {"unique_id": "macro.dbt_utils.deduplicate", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.625355}, "macro.dbt_utils.default__deduplicate": {"unique_id": "macro.dbt_utils.default__deduplicate", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.625598}, "macro.dbt_utils.redshift__deduplicate": {"unique_id": "macro.dbt_utils.redshift__deduplicate", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.62582}, "macro.dbt_utils.postgres__deduplicate": {"unique_id": "macro.dbt_utils.postgres__deduplicate", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.626025}, "macro.dbt_utils.snowflake__deduplicate": {"unique_id": "macro.dbt_utils.snowflake__deduplicate", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.626206}, "macro.dbt_utils.bigquery__deduplicate": {"unique_id": "macro.dbt_utils.bigquery__deduplicate", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.626386}, "macro.dbt_utils.surrogate_key": {"unique_id": "macro.dbt_utils.surrogate_key", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.627084}, "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/pinterest/dbt_pinterest_source/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": 1656628609.628098}, "macro.dbt_utils.safe_add": {"unique_id": "macro.dbt_utils.safe_add", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.628597}, "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/pinterest/dbt_pinterest_source/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": 1656628609.628906}, "macro.dbt_utils.nullcheck": {"unique_id": "macro.dbt_utils.nullcheck", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.629344}, "macro.dbt_utils.default__nullcheck": {"unique_id": "macro.dbt_utils.default__nullcheck", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.6297019}, "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/pinterest/dbt_pinterest_source/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": 1656628609.63134}, "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/pinterest/dbt_pinterest_source/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": 1656628609.63164}, "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/pinterest/dbt_pinterest_source/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": 1656628609.6325052}, "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/pinterest/dbt_pinterest_source/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": 1656628609.633066}, "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/pinterest/dbt_pinterest_source/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": 1656628609.63433}, "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/pinterest/dbt_pinterest_source/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": 1656628609.635995}, "macro.dbt_utils.pivot": {"unique_id": "macro.dbt_utils.pivot", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.6372008}, "macro.dbt_utils.default__pivot": {"unique_id": "macro.dbt_utils.default__pivot", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.638135}, "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/pinterest/dbt_pinterest_source/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": 1656628609.638725}, "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/pinterest/dbt_pinterest_source/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": 1656628609.639522}, "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/pinterest/dbt_pinterest_source/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": 1656628609.640001}, "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/pinterest/dbt_pinterest_source/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": 1656628609.640644}, "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/pinterest/dbt_pinterest_source/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": 1656628609.641214}, "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/pinterest/dbt_pinterest_source/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": 1656628609.6413062}, "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/pinterest/dbt_pinterest_source/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": 1656628609.641397}, "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/pinterest/dbt_pinterest_source/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": 1656628609.641483}, "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/pinterest/dbt_pinterest_source/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": 1656628609.642688}, "macro.dbt_utils.haversine_distance": {"unique_id": "macro.dbt_utils.haversine_distance", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.643023}, "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/pinterest/dbt_pinterest_source/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": 1656628609.644607}, "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/pinterest/dbt_pinterest_source/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": 1656628609.645576}, "macro.spark_utils.get_tables": {"unique_id": "macro.spark_utils.get_tables", "package_name": "spark_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.650861}, "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/pinterest/dbt_pinterest_source/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": 1656628609.651618}, "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/pinterest/dbt_pinterest_source/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": 1656628609.6525922}, "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/pinterest/dbt_pinterest_source/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": 1656628609.6533918}, "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/pinterest/dbt_pinterest_source/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": 1656628609.654182}, "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/pinterest/dbt_pinterest_source/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": 1656628609.65519}, "macro.spark_utils.spark__concat": {"unique_id": "macro.spark_utils.spark__concat", "package_name": "spark_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.655474}, "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/pinterest/dbt_pinterest_source/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": 1656628609.655663}, "macro.spark_utils.spark__dateadd": {"unique_id": "macro.spark_utils.spark__dateadd", "package_name": "spark_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.658667}, "macro.spark_utils.spark__datediff": {"unique_id": "macro.spark_utils.spark__datediff", "package_name": "spark_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.666473}, "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/pinterest/dbt_pinterest_source/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": 1656628609.666798}, "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/pinterest/dbt_pinterest_source/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": 1656628609.666878}, "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/pinterest/dbt_pinterest_source/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": 1656628609.667566}, "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/pinterest/dbt_pinterest_source/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": 1656628609.669297}, "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/pinterest/dbt_pinterest_source/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": 1656628609.669666}, "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/pinterest/dbt_pinterest_source/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": 1656628609.669966}, "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/pinterest/dbt_pinterest_source/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": 1656628609.670261}, "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/pinterest/dbt_pinterest_source/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": 1656628609.670679}, "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/pinterest/dbt_pinterest_source/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": 1656628609.670898}, "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/pinterest/dbt_pinterest_source/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": 1656628609.671207}, "macro.fivetran_utils.enabled_vars": {"unique_id": "macro.fivetran_utils.enabled_vars", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.671704}, "macro.fivetran_utils.percentile": {"unique_id": "macro.fivetran_utils.percentile", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.6727118}, "macro.fivetran_utils.default__percentile": {"unique_id": "macro.fivetran_utils.default__percentile", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.672891}, "macro.fivetran_utils.redshift__percentile": {"unique_id": "macro.fivetran_utils.redshift__percentile", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.673065}, "macro.fivetran_utils.bigquery__percentile": {"unique_id": "macro.fivetran_utils.bigquery__percentile", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.6732411}, "macro.fivetran_utils.postgres__percentile": {"unique_id": "macro.fivetran_utils.postgres__percentile", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.6733959}, "macro.fivetran_utils.spark__percentile": {"unique_id": "macro.fivetran_utils.spark__percentile", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.673568}, "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/pinterest/dbt_pinterest_source/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": 1656628609.67411}, "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/pinterest/dbt_pinterest_source/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) %}\n\n{% if var(pass_through_variable, none) %}\n {% for field in var(pass_through_variable) %}\n , {{ 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": 1656628609.6747148}, "macro.fivetran_utils.json_parse": {"unique_id": "macro.fivetran_utils.json_parse", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.6759381}, "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/pinterest/dbt_pinterest_source/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": 1656628609.67622}, "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/pinterest/dbt_pinterest_source/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": 1656628609.676491}, "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/pinterest/dbt_pinterest_source/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": 1656628609.676755}, "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/pinterest/dbt_pinterest_source/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": 1656628609.677014}, "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/pinterest/dbt_pinterest_source/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": 1656628609.677304}, "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/pinterest/dbt_pinterest_source/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": 1656628609.677592}, "macro.fivetran_utils.max_bool": {"unique_id": "macro.fivetran_utils.max_bool", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.678018}, "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/pinterest/dbt_pinterest_source/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": 1656628609.67813}, "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/pinterest/dbt_pinterest_source/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": 1656628609.678236}, "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/pinterest/dbt_pinterest_source/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": 1656628609.6783412}, "macro.fivetran_utils.calculated_fields": {"unique_id": "macro.fivetran_utils.calculated_fields", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.678817}, "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/pinterest/dbt_pinterest_source/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": 1656628609.6795142}, "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/pinterest/dbt_pinterest_source/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": 1656628609.6802619}, "macro.fivetran_utils.string_agg": {"unique_id": "macro.fivetran_utils.string_agg", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.680832}, "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/pinterest/dbt_pinterest_source/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": 1656628609.6809778}, "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/pinterest/dbt_pinterest_source/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": 1656628609.68112}, "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/pinterest/dbt_pinterest_source/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": 1656628609.6812558}, "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/pinterest/dbt_pinterest_source/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": 1656628609.681398}, "macro.fivetran_utils.timestamp_diff": {"unique_id": "macro.fivetran_utils.timestamp_diff", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.6844501}, "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/pinterest/dbt_pinterest_source/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": 1656628609.684661}, "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/pinterest/dbt_pinterest_source/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": 1656628609.6848419}, "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/pinterest/dbt_pinterest_source/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": 1656628609.6850162}, "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/pinterest/dbt_pinterest_source/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": 1656628609.6869}, "macro.fivetran_utils.try_cast": {"unique_id": "macro.fivetran_utils.try_cast", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.6878898}, "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/pinterest/dbt_pinterest_source/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": 1656628609.688046}, "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/pinterest/dbt_pinterest_source/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": 1656628609.6883478}, "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/pinterest/dbt_pinterest_source/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": 1656628609.688663}, "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/pinterest/dbt_pinterest_source/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": 1656628609.688807}, "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/pinterest/dbt_pinterest_source/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": 1656628609.688941}, "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/pinterest/dbt_pinterest_source/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": 1656628609.689075}, "macro.fivetran_utils.source_relation": {"unique_id": "macro.fivetran_utils.source_relation", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.689688}, "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/pinterest/dbt_pinterest_source/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": 1656628609.690325}, "macro.fivetran_utils.first_value": {"unique_id": "macro.fivetran_utils.first_value", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.690926}, "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/pinterest/dbt_pinterest_source/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": 1656628609.6911519}, "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/pinterest/dbt_pinterest_source/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": 1656628609.691398}, "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/pinterest/dbt_pinterest_source/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": 1656628609.691752}, "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/pinterest/dbt_pinterest_source/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": 1656628609.692794}, "macro.fivetran_utils.union_relations": {"unique_id": "macro.fivetran_utils.union_relations", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.697053}, "macro.fivetran_utils.union_tables": {"unique_id": "macro.fivetran_utils.union_tables", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.697451}, "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/pinterest/dbt_pinterest_source/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": 1656628609.697933}, "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/pinterest/dbt_pinterest_source/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": 1656628609.699618}, "macro.fivetran_utils.quote_column": {"unique_id": "macro.fivetran_utils.quote_column", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.700224}, "macro.fivetran_utils.json_extract": {"unique_id": "macro.fivetran_utils.json_extract", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.7008781}, "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/pinterest/dbt_pinterest_source/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": 1656628609.70105}, "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/pinterest/dbt_pinterest_source/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": 1656628609.701216}, "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/pinterest/dbt_pinterest_source/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": 1656628609.701401}, "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/pinterest/dbt_pinterest_source/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": 1656628609.701567}, "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/pinterest/dbt_pinterest_source/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": 1656628609.701728}, "macro.fivetran_utils.collect_freshness": {"unique_id": "macro.fivetran_utils.collect_freshness", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.7025201}, "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/pinterest/dbt_pinterest_source/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": 1656628609.70359}, "macro.fivetran_utils.timestamp_add": {"unique_id": "macro.fivetran_utils.timestamp_add", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.704372}, "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/pinterest/dbt_pinterest_source/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": 1656628609.704551}, "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/pinterest/dbt_pinterest_source/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": 1656628609.704724}, "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/pinterest/dbt_pinterest_source/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": 1656628609.704912}, "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/pinterest/dbt_pinterest_source/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": 1656628609.70509}, "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/pinterest/dbt_pinterest_source/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": 1656628609.705281}, "macro.fivetran_utils.ceiling": {"unique_id": "macro.fivetran_utils.ceiling", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.705627}, "macro.fivetran_utils.default__ceiling": {"unique_id": "macro.fivetran_utils.default__ceiling", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.705803}, "macro.fivetran_utils.snowflake__ceiling": {"unique_id": "macro.fivetran_utils.snowflake__ceiling", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.70591}, "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/pinterest/dbt_pinterest_source/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": 1656628609.706679}, "macro.fivetran_utils.union_data": {"unique_id": "macro.fivetran_utils.union_data", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.708011}, "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/pinterest/dbt_pinterest_source/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": 1656628609.7099252}, "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/pinterest/dbt_pinterest_source/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": 1656628609.711524}, "macro.fivetran_utils.array_agg": {"unique_id": "macro.fivetran_utils.array_agg", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1656628609.71188}, "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/pinterest/dbt_pinterest_source/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": 1656628609.711993}, "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/pinterest/dbt_pinterest_source/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": 1656628609.712099}, "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/pinterest/dbt_pinterest_source/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": 1656628609.712609}, "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/pinterest/dbt_pinterest_source/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": 1656628609.7131011}, "macro.pinterest_source.get_ad_group_history_columns": {"unique_id": "macro.pinterest_source.get_ad_group_history_columns", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "macros/get_ad_group_history_columns.sql", "original_file_path": "macros/get_ad_group_history_columns.sql", "name": "get_ad_group_history_columns", "macro_sql": "{% macro get_ad_group_history_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"campaign_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"created_time\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"end_time\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"name\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"start_time\", \"datatype\": dbt_utils.type_timestamp()},\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_string"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1656628609.714228}, "macro.pinterest_source.get_pin_promotion_history_columns": {"unique_id": "macro.pinterest_source.get_pin_promotion_history_columns", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "macros/get_pin_promotion_history_columns.sql", "original_file_path": "macros/get_pin_promotion_history_columns.sql", "name": "get_pin_promotion_history_columns", "macro_sql": "{% macro get_pin_promotion_history_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"ad_group_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"android_deep_link\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"click_tracking_url\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"created_time\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"creative_type\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"destination_url\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"ios_deep_link\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"is_pin_deleted\", \"datatype\": \"boolean\"},\n {\"name\": \"is_removable\", \"datatype\": \"boolean\"},\n {\"name\": \"name\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"pin_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"review_status\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"status\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"updated_time\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"view_tracking_url\", \"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_string"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1656628609.716458}, "macro.pinterest_source.get_keyword_report_columns": {"unique_id": "macro.pinterest_source.get_keyword_report_columns", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "macros/get_keyword_report_columns.sql", "original_file_path": "macros/get_keyword_report_columns.sql", "name": "get_keyword_report_columns", "macro_sql": "{% macro get_keyword_report_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"ad_group_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"ad_group_name\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"ad_group_status\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"advertiser_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"campaign_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"clickthrough_1\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"clickthrough_2\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"date\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"impression_1\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"impression_2\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"keyword_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"pin_promotion_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"spend_in_micro_dollar\", \"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_string", "macro.dbt_utils.type_int"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1656628609.718288}, "macro.pinterest_source.get_pin_promotion_report_columns": {"unique_id": "macro.pinterest_source.get_pin_promotion_report_columns", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "macros/get_pin_promotion_report_columns.sql", "original_file_path": "macros/get_pin_promotion_report_columns.sql", "name": "get_pin_promotion_report_columns", "macro_sql": "{% macro get_pin_promotion_report_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"ad_group_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"advertiser_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"campaign_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"clickthrough_1\", \"datatype\": dbt_utils.type_numeric()},\n {\"name\": \"clickthrough_2\", \"datatype\": dbt_utils.type_numeric()},\n {\"name\": \"date\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"impression_1\", \"datatype\": dbt_utils.type_numeric()},\n {\"name\": \"impression_2\", \"datatype\": dbt_utils.type_numeric()},\n {\"name\": \"pin_promotion_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"spend_in_micro_dollar\", \"datatype\": dbt_utils.type_numeric()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.type_timestamp", "macro.dbt_utils.type_string", "macro.dbt_utils.type_numeric"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1656628609.7197719}, "macro.pinterest_source.get_campaign_report_columns": {"unique_id": "macro.pinterest_source.get_campaign_report_columns", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "macros/get_campaign_report_columns.sql", "original_file_path": "macros/get_campaign_report_columns.sql", "name": "get_campaign_report_columns", "macro_sql": "{% macro get_campaign_report_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"advertiser_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"campaign_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"campaign_name\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"campaign_status\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"clickthrough_1\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"clickthrough_2\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"date\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"impression_1\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"impression_2\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"spend_in_micro_dollar\", \"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_string", "macro.dbt_utils.type_int"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1656628609.72124}, "macro.pinterest_source.get_campaign_history_columns": {"unique_id": "macro.pinterest_source.get_campaign_history_columns", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_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\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"created_time\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"advertiser_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"name\", \"datatype\": dbt_utils.type_string()},\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_string"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1656628609.722191}, "macro.pinterest_source.get_advertiser_history_columns": {"unique_id": "macro.pinterest_source.get_advertiser_history_columns", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "macros/get_advertiser_history_columns.sql", "original_file_path": "macros/get_advertiser_history_columns.sql", "name": "get_advertiser_history_columns", "macro_sql": "{% macro get_advertiser_history_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"billing_profile_status\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"billing_type\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"country\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"created_time\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"currency\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"merchant_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"name\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"owner_user_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"status\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"updated_time\", \"datatype\": dbt_utils.type_timestamp()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.type_timestamp", "macro.dbt_utils.type_string"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1656628609.723756}, "macro.pinterest_source.get_ad_group_report_columns": {"unique_id": "macro.pinterest_source.get_ad_group_report_columns", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "macros/get_ad_group_report_columns.sql", "original_file_path": "macros/get_ad_group_report_columns.sql", "name": "get_ad_group_report_columns", "macro_sql": "{% macro get_ad_group_report_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"ad_group_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"ad_group_name\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"ad_group_status\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"advertiser_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"campaign_id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"clickthrough_1\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"clickthrough_2\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"date\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"impression_1\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"impression_2\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"spend_in_micro_dollar\", \"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_string", "macro.dbt_utils.type_int"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1656628609.725364}, "macro.pinterest_source.get_keyword_history_columns": {"unique_id": "macro.pinterest_source.get_keyword_history_columns", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "macros/get_keyword_history_columns.sql", "original_file_path": "macros/get_keyword_history_columns.sql", "name": "get_keyword_history_columns", "macro_sql": "{% macro get_keyword_history_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"ad_group_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"advertiser_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"archived\", \"datatype\": \"boolean\"},\n {\"name\": \"bid\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"campaign_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"match_type\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"parent_type\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"value\", \"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": 1656628609.7268422}, "macro.pinterest_source.get_advertiser_report_columns": {"unique_id": "macro.pinterest_source.get_advertiser_report_columns", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "macros/get_advertiser_report_columns.sql", "original_file_path": "macros/get_advertiser_report_columns.sql", "name": "get_advertiser_report_columns", "macro_sql": "{% macro get_advertiser_report_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"advertiser_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"clickthrough_1\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"clickthrough_2\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"date\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"impression_1\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"impression_2\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"spend_in_micro_dollar\", \"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_string", "macro.dbt_utils.type_int"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1656628609.728008}}, "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"}, "pinterest_source._fivetran_synced": {"unique_id": "pinterest_source._fivetran_synced", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "_fivetran_synced", "block_contents": "Timestamp of when a record was last synced."}, "pinterest_source.is_most_recent_record": {"unique_id": "pinterest_source.is_most_recent_record", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "is_most_recent_record", "block_contents": "Boolean representing whether the record is the most recent version of the object."}, "pinterest_source.date_day": {"unique_id": "pinterest_source.date_day", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "date_day", "block_contents": "The performance date of the record."}, "pinterest_source.ad_group_id": {"unique_id": "pinterest_source.ad_group_id", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "ad_group_id", "block_contents": "The ID of the related Ad group."}, "pinterest_source.pin_promotion_id": {"unique_id": "pinterest_source.pin_promotion_id", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "pin_promotion_id", "block_contents": "The ID of the related Pin promotion."}, "pinterest_source.campaign_id": {"unique_id": "pinterest_source.campaign_id", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "campaign_id", "block_contents": "The ID of the related Campaign."}, "pinterest_source.advertiser_id": {"unique_id": "pinterest_source.advertiser_id", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "advertiser_id", "block_contents": "The ID of the related Advertiser."}, "pinterest_source.impressions": {"unique_id": "pinterest_source.impressions", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "impressions", "block_contents": "The number of impressions that occurred on the day of the record."}, "pinterest_source.clicks": {"unique_id": "pinterest_source.clicks", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "clicks", "block_contents": "The number of clicks that occurred on the day of the record."}, "pinterest_source.spend": {"unique_id": "pinterest_source.spend", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "spend", "block_contents": "The amount of spend that occurred on the day of the record."}, "pinterest_source.updated_at": {"unique_id": "pinterest_source.updated_at", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "updated_at", "block_contents": "Timestamp of when a record was last updated."}, "pinterest_source.created_at": {"unique_id": "pinterest_source.created_at", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "created_at", "block_contents": "Timestamp of when a record was created."}, "pinterest_source.spend_in_micro_dollar": {"unique_id": "pinterest_source.spend_in_micro_dollar", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "spend_in_micro_dollar", "block_contents": "The amount of spend in micro dollars that occurred on the day of the record."}, "pinterest_source.clickthrough_1": {"unique_id": "pinterest_source.clickthrough_1", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "clickthrough_1", "block_contents": "The number of paid pin clicks that occurred on the day of the record."}, "pinterest_source.clickthrough_2": {"unique_id": "pinterest_source.clickthrough_2", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "clickthrough_2", "block_contents": "The number of earned outbound clicks that occurred on the day of the record."}, "pinterest_source.impression_1": {"unique_id": "pinterest_source.impression_1", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "impression_1", "block_contents": "The number of paid pin impressions that occurred on the day of the record."}, "pinterest_source.impression_2": {"unique_id": "pinterest_source.impression_2", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "impression_2", "block_contents": "The number of earned pin impressions that occurred on the day of the record."}}, "exposures": {}, "metrics": {}, "selectors": {}, "disabled": {}, "parent_map": {"seed.pinterest_source_integration_tests.ad_group_report_data": [], "seed.pinterest_source_integration_tests.keyword_report_data": [], "seed.pinterest_source_integration_tests.pin_promotion_history_data": [], "seed.pinterest_source_integration_tests.advertiser_history_data": [], "seed.pinterest_source_integration_tests.advertiser_report_data": [], "seed.pinterest_source_integration_tests.ad_group_history_data": [], "seed.pinterest_source_integration_tests.campaign_history_data": [], "seed.pinterest_source_integration_tests.campaign_report_data": [], "seed.pinterest_source_integration_tests.keyword_history_data": [], "seed.pinterest_source_integration_tests.pin_promotion_report_data": [], "model.pinterest_source.stg_pinterest_ads__pin_promotion_history": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_history_tmp", "model.pinterest_source.stg_pinterest_ads__pin_promotion_history_tmp"], "model.pinterest_source.stg_pinterest_ads__keyword_report": ["model.pinterest_source.stg_pinterest_ads__keyword_report_tmp", "model.pinterest_source.stg_pinterest_ads__keyword_report_tmp"], "model.pinterest_source.stg_pinterest_ads__ad_group_report": ["model.pinterest_source.stg_pinterest_ads__ad_group_report_tmp", "model.pinterest_source.stg_pinterest_ads__ad_group_report_tmp"], "model.pinterest_source.stg_pinterest_ads__campaign_history": ["model.pinterest_source.stg_pinterest_ads__campaign_history_tmp", "model.pinterest_source.stg_pinterest_ads__campaign_history_tmp"], "model.pinterest_source.stg_pinterest_ads__advertiser_report": ["model.pinterest_source.stg_pinterest_ads__advertiser_report_tmp", "model.pinterest_source.stg_pinterest_ads__advertiser_report_tmp"], "model.pinterest_source.stg_pinterest_ads__advertiser_history": ["model.pinterest_source.stg_pinterest_ads__advertiser_history_tmp", "model.pinterest_source.stg_pinterest_ads__advertiser_history_tmp"], "model.pinterest_source.stg_pinterest_ads__campaign_report": ["model.pinterest_source.stg_pinterest_ads__campaign_report_tmp", "model.pinterest_source.stg_pinterest_ads__campaign_report_tmp"], "model.pinterest_source.stg_pinterest_ads__keyword_history": ["model.pinterest_source.stg_pinterest_ads__keyword_history_tmp", "model.pinterest_source.stg_pinterest_ads__keyword_history_tmp"], "model.pinterest_source.stg_pinterest_ads__pin_promotion_report": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_report_tmp", "model.pinterest_source.stg_pinterest_ads__pin_promotion_report_tmp"], "model.pinterest_source.stg_pinterest_ads__ad_group_history": ["model.pinterest_source.stg_pinterest_ads__ad_group_history_tmp", "model.pinterest_source.stg_pinterest_ads__ad_group_history_tmp"], "model.pinterest_source.stg_pinterest_ads__advertiser_history_tmp": ["source.pinterest_source.pinterest_ads.advertiser_history"], "model.pinterest_source.stg_pinterest_ads__pin_promotion_report_tmp": ["source.pinterest_source.pinterest_ads.pin_promotion_report"], "model.pinterest_source.stg_pinterest_ads__campaign_report_tmp": ["source.pinterest_source.pinterest_ads.campaign_report"], "model.pinterest_source.stg_pinterest_ads__advertiser_report_tmp": ["source.pinterest_source.pinterest_ads.advertiser_report"], "model.pinterest_source.stg_pinterest_ads__keyword_report_tmp": ["source.pinterest_source.pinterest_ads.keyword_report"], "model.pinterest_source.stg_pinterest_ads__ad_group_report_tmp": ["source.pinterest_source.pinterest_ads.ad_group_report"], "model.pinterest_source.stg_pinterest_ads__keyword_history_tmp": ["source.pinterest_source.pinterest_ads.keyword_history"], "model.pinterest_source.stg_pinterest_ads__campaign_history_tmp": ["source.pinterest_source.pinterest_ads.campaign_history"], "model.pinterest_source.stg_pinterest_ads__ad_group_history_tmp": ["source.pinterest_source.pinterest_ads.ad_group_history"], "model.pinterest_source.stg_pinterest_ads__pin_promotion_history_tmp": ["source.pinterest_source.pinterest_ads.pin_promotion_history"], "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_history_ad_group_id.220c6220be": ["model.pinterest_source.stg_pinterest_ads__ad_group_history"], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_history_ad_group_id___fivetran_synced.1132e1f339": ["model.pinterest_source.stg_pinterest_ads__ad_group_history"], "test.pinterest_source.not_null_stg_pinterest_ads__campaign_history_campaign_id.60cb10d341": ["model.pinterest_source.stg_pinterest_ads__campaign_history"], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_history_campaign_id___fivetran_synced.eff7196b87": ["model.pinterest_source.stg_pinterest_ads__campaign_history"], "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_history_pin_promotion_id.171995cd34": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_history"], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_history__fivetran_synced__pin_promotion_id.8e9ab31ea9": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_history"], "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_report_date_day.ed272212a1": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_report"], "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_report_pin_promotion_id.9c3c9f71ab": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_report"], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_report_date_day__pin_promotion_id.f30a887f4d": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_report"], "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_report_date_day.80e8904c4c": ["model.pinterest_source.stg_pinterest_ads__ad_group_report"], "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_report_ad_group_id.bb8cf3c471": ["model.pinterest_source.stg_pinterest_ads__ad_group_report"], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_report_date_day__ad_group_id.959c0f8422": ["model.pinterest_source.stg_pinterest_ads__ad_group_report"], "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_history_advertiser_id.7d24f665fb": ["model.pinterest_source.stg_pinterest_ads__advertiser_history"], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_history_updated_at__advertiser_id.94e8f4de4b": ["model.pinterest_source.stg_pinterest_ads__advertiser_history"], "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_report_date_day.153bd03c95": ["model.pinterest_source.stg_pinterest_ads__advertiser_report"], "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_report_advertiser_id.1b16ed73ff": ["model.pinterest_source.stg_pinterest_ads__advertiser_report"], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_report_date_day__advertiser_id.e92ce8a9c0": ["model.pinterest_source.stg_pinterest_ads__advertiser_report"], "test.pinterest_source.not_null_stg_pinterest_ads__campaign_report_date_day.7ef5fb1238": ["model.pinterest_source.stg_pinterest_ads__campaign_report"], "test.pinterest_source.not_null_stg_pinterest_ads__campaign_report_campaign_id.a287eba0fc": ["model.pinterest_source.stg_pinterest_ads__campaign_report"], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_report_date_day__campaign_id.968175d475": ["model.pinterest_source.stg_pinterest_ads__campaign_report"], "test.pinterest_source.not_null_stg_pinterest_ads__keyword_history_keyword_id.246889377a": ["model.pinterest_source.stg_pinterest_ads__keyword_history"], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_history_keyword_id___fivetran_synced.e73fb0a4db": ["model.pinterest_source.stg_pinterest_ads__keyword_history"], "test.pinterest_source.not_null_stg_pinterest_ads__keyword_report_date_day.9937216300": ["model.pinterest_source.stg_pinterest_ads__keyword_report"], "test.pinterest_source.not_null_stg_pinterest_ads__keyword_report_keyword_id.5f00679c48": ["model.pinterest_source.stg_pinterest_ads__keyword_report"], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_report_date_day__keyword_id.fe6a646a5a": ["model.pinterest_source.stg_pinterest_ads__keyword_report"], "source.pinterest_source.pinterest_ads.pin_promotion_report": [], "source.pinterest_source.pinterest_ads.pin_promotion_history": [], "source.pinterest_source.pinterest_ads.campaign_history": [], "source.pinterest_source.pinterest_ads.ad_group_history": [], "source.pinterest_source.pinterest_ads.ad_group_report": [], "source.pinterest_source.pinterest_ads.advertiser_history": [], "source.pinterest_source.pinterest_ads.advertiser_report": [], "source.pinterest_source.pinterest_ads.campaign_report": [], "source.pinterest_source.pinterest_ads.keyword_history": [], "source.pinterest_source.pinterest_ads.keyword_report": []}, "child_map": {"seed.pinterest_source_integration_tests.ad_group_report_data": [], "seed.pinterest_source_integration_tests.keyword_report_data": [], "seed.pinterest_source_integration_tests.pin_promotion_history_data": [], "seed.pinterest_source_integration_tests.advertiser_history_data": [], "seed.pinterest_source_integration_tests.advertiser_report_data": [], "seed.pinterest_source_integration_tests.ad_group_history_data": [], "seed.pinterest_source_integration_tests.campaign_history_data": [], "seed.pinterest_source_integration_tests.campaign_report_data": [], "seed.pinterest_source_integration_tests.keyword_history_data": [], "seed.pinterest_source_integration_tests.pin_promotion_report_data": [], "model.pinterest_source.stg_pinterest_ads__pin_promotion_history": ["test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_history__fivetran_synced__pin_promotion_id.8e9ab31ea9", "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_history_pin_promotion_id.171995cd34"], "model.pinterest_source.stg_pinterest_ads__keyword_report": ["test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_report_date_day__keyword_id.fe6a646a5a", "test.pinterest_source.not_null_stg_pinterest_ads__keyword_report_date_day.9937216300", "test.pinterest_source.not_null_stg_pinterest_ads__keyword_report_keyword_id.5f00679c48"], "model.pinterest_source.stg_pinterest_ads__ad_group_report": ["test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_report_date_day__ad_group_id.959c0f8422", "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_report_ad_group_id.bb8cf3c471", "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_report_date_day.80e8904c4c"], "model.pinterest_source.stg_pinterest_ads__campaign_history": ["test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_history_campaign_id___fivetran_synced.eff7196b87", "test.pinterest_source.not_null_stg_pinterest_ads__campaign_history_campaign_id.60cb10d341"], "model.pinterest_source.stg_pinterest_ads__advertiser_report": ["test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_report_date_day__advertiser_id.e92ce8a9c0", "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_report_advertiser_id.1b16ed73ff", "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_report_date_day.153bd03c95"], "model.pinterest_source.stg_pinterest_ads__advertiser_history": ["test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_history_updated_at__advertiser_id.94e8f4de4b", "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_history_advertiser_id.7d24f665fb"], "model.pinterest_source.stg_pinterest_ads__campaign_report": ["test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_report_date_day__campaign_id.968175d475", "test.pinterest_source.not_null_stg_pinterest_ads__campaign_report_campaign_id.a287eba0fc", "test.pinterest_source.not_null_stg_pinterest_ads__campaign_report_date_day.7ef5fb1238"], "model.pinterest_source.stg_pinterest_ads__keyword_history": ["test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_history_keyword_id___fivetran_synced.e73fb0a4db", "test.pinterest_source.not_null_stg_pinterest_ads__keyword_history_keyword_id.246889377a"], "model.pinterest_source.stg_pinterest_ads__pin_promotion_report": ["test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_report_date_day__pin_promotion_id.f30a887f4d", "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_report_date_day.ed272212a1", "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_report_pin_promotion_id.9c3c9f71ab"], "model.pinterest_source.stg_pinterest_ads__ad_group_history": ["test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_history_ad_group_id___fivetran_synced.1132e1f339", "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_history_ad_group_id.220c6220be"], "model.pinterest_source.stg_pinterest_ads__advertiser_history_tmp": ["model.pinterest_source.stg_pinterest_ads__advertiser_history", "model.pinterest_source.stg_pinterest_ads__advertiser_history"], "model.pinterest_source.stg_pinterest_ads__pin_promotion_report_tmp": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_report", "model.pinterest_source.stg_pinterest_ads__pin_promotion_report"], "model.pinterest_source.stg_pinterest_ads__campaign_report_tmp": ["model.pinterest_source.stg_pinterest_ads__campaign_report", "model.pinterest_source.stg_pinterest_ads__campaign_report"], "model.pinterest_source.stg_pinterest_ads__advertiser_report_tmp": ["model.pinterest_source.stg_pinterest_ads__advertiser_report", "model.pinterest_source.stg_pinterest_ads__advertiser_report"], "model.pinterest_source.stg_pinterest_ads__keyword_report_tmp": ["model.pinterest_source.stg_pinterest_ads__keyword_report", "model.pinterest_source.stg_pinterest_ads__keyword_report"], "model.pinterest_source.stg_pinterest_ads__ad_group_report_tmp": ["model.pinterest_source.stg_pinterest_ads__ad_group_report", "model.pinterest_source.stg_pinterest_ads__ad_group_report"], "model.pinterest_source.stg_pinterest_ads__keyword_history_tmp": ["model.pinterest_source.stg_pinterest_ads__keyword_history", "model.pinterest_source.stg_pinterest_ads__keyword_history"], "model.pinterest_source.stg_pinterest_ads__campaign_history_tmp": ["model.pinterest_source.stg_pinterest_ads__campaign_history", "model.pinterest_source.stg_pinterest_ads__campaign_history"], "model.pinterest_source.stg_pinterest_ads__ad_group_history_tmp": ["model.pinterest_source.stg_pinterest_ads__ad_group_history", "model.pinterest_source.stg_pinterest_ads__ad_group_history"], "model.pinterest_source.stg_pinterest_ads__pin_promotion_history_tmp": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_history", "model.pinterest_source.stg_pinterest_ads__pin_promotion_history"], "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_history_ad_group_id.220c6220be": [], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_history_ad_group_id___fivetran_synced.1132e1f339": [], "test.pinterest_source.not_null_stg_pinterest_ads__campaign_history_campaign_id.60cb10d341": [], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_history_campaign_id___fivetran_synced.eff7196b87": [], "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_history_pin_promotion_id.171995cd34": [], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_history__fivetran_synced__pin_promotion_id.8e9ab31ea9": [], "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_report_date_day.ed272212a1": [], "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_report_pin_promotion_id.9c3c9f71ab": [], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_report_date_day__pin_promotion_id.f30a887f4d": [], "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_report_date_day.80e8904c4c": [], "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_report_ad_group_id.bb8cf3c471": [], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_report_date_day__ad_group_id.959c0f8422": [], "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_history_advertiser_id.7d24f665fb": [], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_history_updated_at__advertiser_id.94e8f4de4b": [], "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_report_date_day.153bd03c95": [], "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_report_advertiser_id.1b16ed73ff": [], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_report_date_day__advertiser_id.e92ce8a9c0": [], "test.pinterest_source.not_null_stg_pinterest_ads__campaign_report_date_day.7ef5fb1238": [], "test.pinterest_source.not_null_stg_pinterest_ads__campaign_report_campaign_id.a287eba0fc": [], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_report_date_day__campaign_id.968175d475": [], "test.pinterest_source.not_null_stg_pinterest_ads__keyword_history_keyword_id.246889377a": [], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_history_keyword_id___fivetran_synced.e73fb0a4db": [], "test.pinterest_source.not_null_stg_pinterest_ads__keyword_report_date_day.9937216300": [], "test.pinterest_source.not_null_stg_pinterest_ads__keyword_report_keyword_id.5f00679c48": [], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_report_date_day__keyword_id.fe6a646a5a": [], "source.pinterest_source.pinterest_ads.pin_promotion_report": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_report_tmp"], "source.pinterest_source.pinterest_ads.pin_promotion_history": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_history_tmp"], "source.pinterest_source.pinterest_ads.campaign_history": ["model.pinterest_source.stg_pinterest_ads__campaign_history_tmp"], "source.pinterest_source.pinterest_ads.ad_group_history": ["model.pinterest_source.stg_pinterest_ads__ad_group_history_tmp"], "source.pinterest_source.pinterest_ads.ad_group_report": ["model.pinterest_source.stg_pinterest_ads__ad_group_report_tmp"], "source.pinterest_source.pinterest_ads.advertiser_history": ["model.pinterest_source.stg_pinterest_ads__advertiser_history_tmp"], "source.pinterest_source.pinterest_ads.advertiser_report": ["model.pinterest_source.stg_pinterest_ads__advertiser_report_tmp"], "source.pinterest_source.pinterest_ads.campaign_report": ["model.pinterest_source.stg_pinterest_ads__campaign_report_tmp"], "source.pinterest_source.pinterest_ads.keyword_history": ["model.pinterest_source.stg_pinterest_ads__keyword_history_tmp"], "source.pinterest_source.pinterest_ads.keyword_report": ["model.pinterest_source.stg_pinterest_ads__keyword_report_tmp"]}} \ No newline at end of file +{"metadata": {"dbt_schema_version": "https://schemas.getdbt.com/dbt/manifest/v4.json", "dbt_version": "1.0.4", "generated_at": "2022-07-20T15:53:15.184207Z", "invocation_id": "054d9dd6-c78c-4076-aa46-85ad14890e03", "env": {}, "project_id": "0c5e93f26aaf82565f2c06106a3cb878", "user_id": "8929baf0-9bc1-477e-9a57-eb8b0db4da62", "send_anonymous_usage_stats": true, "adapter_type": "postgres"}, "nodes": {"seed.pinterest_source_integration_tests.ad_group_report_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", "campaign_id": "bigint", "ad_group_id": "bigint", "pin_id": "bigint", "advertiser_id": "bigint", "pin_promotion_id": "bigint", "keyword_id": "bigint"}, "full_refresh": null, "on_schema_change": "ignore", "quote_columns": true, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "pinterest_source_integration_tests", "fqn": ["pinterest_source_integration_tests", "ad_group_report_data"], "unique_id": "seed.pinterest_source_integration_tests.ad_group_report_data", "package_name": "pinterest_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests", "path": "ad_group_report_data.csv", "original_file_path": "seeds/ad_group_report_data.csv", "name": "ad_group_report_data", "alias": "ad_group_report_data", "checksum": {"name": "sha256", "checksum": "e97c0744fe3e48bcc4f9016c719b37f08e7cf5d2eed93805e0d54678df283662"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type in ('redshift','postgres') else false }}", "column_types": {"id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "ad_group_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "advertiser_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_promotion_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "keyword_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}"}}, "created_at": 1658332384.6684978, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"ad_group_report_data\""}, "seed.pinterest_source_integration_tests.keyword_report_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", "campaign_id": "bigint", "ad_group_id": "bigint", "pin_id": "bigint", "advertiser_id": "bigint", "pin_promotion_id": "bigint", "keyword_id": "bigint"}, "full_refresh": null, "on_schema_change": "ignore", "quote_columns": true, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "pinterest_source_integration_tests", "fqn": ["pinterest_source_integration_tests", "keyword_report_data"], "unique_id": "seed.pinterest_source_integration_tests.keyword_report_data", "package_name": "pinterest_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests", "path": "keyword_report_data.csv", "original_file_path": "seeds/keyword_report_data.csv", "name": "keyword_report_data", "alias": "keyword_report_data", "checksum": {"name": "sha256", "checksum": "1035144a7494a5a018e6a87770e8ee67eb6b98f6e899865c1e7c4b1bfc4b6951"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type in ('redshift','postgres') else false }}", "column_types": {"id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "ad_group_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "advertiser_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_promotion_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "keyword_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}"}}, "created_at": 1658332384.6742551, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"keyword_report_data\""}, "seed.pinterest_source_integration_tests.pin_promotion_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", "campaign_id": "bigint", "ad_group_id": "bigint", "pin_id": "bigint", "advertiser_id": "bigint", "pin_promotion_id": "bigint", "keyword_id": "bigint"}, "full_refresh": null, "on_schema_change": "ignore", "quote_columns": true, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "pinterest_source_integration_tests", "fqn": ["pinterest_source_integration_tests", "pin_promotion_history_data"], "unique_id": "seed.pinterest_source_integration_tests.pin_promotion_history_data", "package_name": "pinterest_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests", "path": "pin_promotion_history_data.csv", "original_file_path": "seeds/pin_promotion_history_data.csv", "name": "pin_promotion_history_data", "alias": "pin_promotion_history_data", "checksum": {"name": "sha256", "checksum": "6b7c5d891ccb02be0c1e126545984964eb4fa226a9d1ae9741ad76288497e338"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type in ('redshift','postgres') else false }}", "column_types": {"id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "ad_group_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "advertiser_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_promotion_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "keyword_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}"}}, "created_at": 1658332384.675204, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"pin_promotion_history_data\""}, "seed.pinterest_source_integration_tests.advertiser_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", "campaign_id": "bigint", "ad_group_id": "bigint", "pin_id": "bigint", "advertiser_id": "bigint", "pin_promotion_id": "bigint", "keyword_id": "bigint"}, "full_refresh": null, "on_schema_change": "ignore", "quote_columns": true, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "pinterest_source_integration_tests", "fqn": ["pinterest_source_integration_tests", "advertiser_history_data"], "unique_id": "seed.pinterest_source_integration_tests.advertiser_history_data", "package_name": "pinterest_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests", "path": "advertiser_history_data.csv", "original_file_path": "seeds/advertiser_history_data.csv", "name": "advertiser_history_data", "alias": "advertiser_history_data", "checksum": {"name": "sha256", "checksum": "a1efd698a39cc0a75b74b43b84d114eddf6eaac9d3dd7d2a06e704951c091fe4"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type in ('redshift','postgres') else false }}", "column_types": {"id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "ad_group_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "advertiser_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_promotion_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "keyword_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}"}}, "created_at": 1658332384.676098, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"advertiser_history_data\""}, "seed.pinterest_source_integration_tests.advertiser_report_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", "campaign_id": "bigint", "ad_group_id": "bigint", "pin_id": "bigint", "advertiser_id": "bigint", "pin_promotion_id": "bigint", "keyword_id": "bigint"}, "full_refresh": null, "on_schema_change": "ignore", "quote_columns": true, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "pinterest_source_integration_tests", "fqn": ["pinterest_source_integration_tests", "advertiser_report_data"], "unique_id": "seed.pinterest_source_integration_tests.advertiser_report_data", "package_name": "pinterest_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests", "path": "advertiser_report_data.csv", "original_file_path": "seeds/advertiser_report_data.csv", "name": "advertiser_report_data", "alias": "advertiser_report_data", "checksum": {"name": "sha256", "checksum": "1c259e5a0e32230a041a13947432b02764f30f9a7aa245893c63a386fb2ee60e"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type in ('redshift','postgres') else false }}", "column_types": {"id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "ad_group_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "advertiser_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_promotion_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "keyword_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}"}}, "created_at": 1658332384.677106, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"advertiser_report_data\""}, "seed.pinterest_source_integration_tests.ad_group_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", "campaign_id": "bigint", "ad_group_id": "bigint", "pin_id": "bigint", "advertiser_id": "bigint", "pin_promotion_id": "bigint", "keyword_id": "bigint"}, "full_refresh": null, "on_schema_change": "ignore", "quote_columns": true, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "pinterest_source_integration_tests", "fqn": ["pinterest_source_integration_tests", "ad_group_history_data"], "unique_id": "seed.pinterest_source_integration_tests.ad_group_history_data", "package_name": "pinterest_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests", "path": "ad_group_history_data.csv", "original_file_path": "seeds/ad_group_history_data.csv", "name": "ad_group_history_data", "alias": "ad_group_history_data", "checksum": {"name": "sha256", "checksum": "ff76dce5a5b57b38a03bfc295838b9f05e99e3e310066ac3fc96f7c78e3b6be8"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type in ('redshift','postgres') else false }}", "column_types": {"id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "ad_group_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "advertiser_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_promotion_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "keyword_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}"}}, "created_at": 1658332384.678144, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"ad_group_history_data\""}, "seed.pinterest_source_integration_tests.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", "campaign_id": "bigint", "ad_group_id": "bigint", "pin_id": "bigint", "advertiser_id": "bigint", "pin_promotion_id": "bigint", "keyword_id": "bigint"}, "full_refresh": null, "on_schema_change": "ignore", "quote_columns": true, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "pinterest_source_integration_tests", "fqn": ["pinterest_source_integration_tests", "campaign_history_data"], "unique_id": "seed.pinterest_source_integration_tests.campaign_history_data", "package_name": "pinterest_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests", "path": "campaign_history_data.csv", "original_file_path": "seeds/campaign_history_data.csv", "name": "campaign_history_data", "alias": "campaign_history_data", "checksum": {"name": "sha256", "checksum": "4c2ec13ff8548a5571e2de4601947d72d934669534584fa234099b3200564aab"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type in ('redshift','postgres') else false }}", "column_types": {"id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "ad_group_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "advertiser_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_promotion_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "keyword_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}"}}, "created_at": 1658332384.679049, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"campaign_history_data\""}, "seed.pinterest_source_integration_tests.campaign_report_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", "campaign_id": "bigint", "ad_group_id": "bigint", "pin_id": "bigint", "advertiser_id": "bigint", "pin_promotion_id": "bigint", "keyword_id": "bigint"}, "full_refresh": null, "on_schema_change": "ignore", "quote_columns": true, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "pinterest_source_integration_tests", "fqn": ["pinterest_source_integration_tests", "campaign_report_data"], "unique_id": "seed.pinterest_source_integration_tests.campaign_report_data", "package_name": "pinterest_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests", "path": "campaign_report_data.csv", "original_file_path": "seeds/campaign_report_data.csv", "name": "campaign_report_data", "alias": "campaign_report_data", "checksum": {"name": "sha256", "checksum": "b13c07bb0eabe3bb01f21e3a9ca46d6d549a7ae56668fd3c3bc69ba033586638"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type in ('redshift','postgres') else false }}", "column_types": {"id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "ad_group_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "advertiser_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_promotion_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "keyword_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}"}}, "created_at": 1658332384.67994, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"campaign_report_data\""}, "seed.pinterest_source_integration_tests.keyword_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", "campaign_id": "bigint", "ad_group_id": "bigint", "pin_id": "bigint", "advertiser_id": "bigint", "pin_promotion_id": "bigint", "keyword_id": "bigint"}, "full_refresh": null, "on_schema_change": "ignore", "quote_columns": true, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "pinterest_source_integration_tests", "fqn": ["pinterest_source_integration_tests", "keyword_history_data"], "unique_id": "seed.pinterest_source_integration_tests.keyword_history_data", "package_name": "pinterest_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests", "path": "keyword_history_data.csv", "original_file_path": "seeds/keyword_history_data.csv", "name": "keyword_history_data", "alias": "keyword_history_data", "checksum": {"name": "sha256", "checksum": "589c187cfa8845b5851700d6e10128a158fe860a55a4f4de7f83b1e92226bc9e"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type in ('redshift','postgres') else false }}", "column_types": {"id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "ad_group_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "advertiser_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_promotion_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "keyword_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}"}}, "created_at": 1658332384.680932, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"keyword_history_data\""}, "seed.pinterest_source_integration_tests.pin_promotion_report_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", "campaign_id": "bigint", "ad_group_id": "bigint", "pin_id": "bigint", "advertiser_id": "bigint", "pin_promotion_id": "bigint", "keyword_id": "bigint"}, "full_refresh": null, "on_schema_change": "ignore", "quote_columns": true, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "pinterest_source_integration_tests", "fqn": ["pinterest_source_integration_tests", "pin_promotion_report_data"], "unique_id": "seed.pinterest_source_integration_tests.pin_promotion_report_data", "package_name": "pinterest_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests", "path": "pin_promotion_report_data.csv", "original_file_path": "seeds/pin_promotion_report_data.csv", "name": "pin_promotion_report_data", "alias": "pin_promotion_report_data", "checksum": {"name": "sha256", "checksum": "925cc6b85b3db0a72f4b6caba706aca609a276e4c71786a651c0294b2cd6ad35"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type in ('redshift','postgres') else false }}", "column_types": {"id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "ad_group_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "advertiser_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_promotion_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "keyword_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}"}}, "created_at": 1658332384.6818318, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"pin_promotion_report_data\""}, "model.pinterest_source.stg_pinterest_ads__pin_promotion_history": {"raw_sql": "with base as (\n\n select *\n from {{ ref('stg_pinterest_ads__pin_promotion_history_tmp') }}\n), \n\nfields as (\n\n select\n\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_pinterest_ads__pin_promotion_history_tmp')),\n staging_columns=get_pin_promotion_history_columns()\n )\n }}\n from base\n), \n\nfinal as (\n\n select\n id as pin_promotion_id,\n ad_group_id,\n created_time as created_at,\n destination_url,\n {{ dbt_utils.split_part('destination_url', \"'?'\", 1) }} as base_url,\n {{ dbt_utils.get_url_host('destination_url') }} as url_host,\n '/' || {{ dbt_utils.get_url_path('destination_url') }} as url_path,\n {{ dbt_utils.get_url_parameter('destination_url', 'utm_source') }} as utm_source,\n {{ dbt_utils.get_url_parameter('destination_url', 'utm_medium') }} as utm_medium,\n {{ dbt_utils.get_url_parameter('destination_url', 'utm_campaign') }} as utm_campaign,\n {{ dbt_utils.get_url_parameter('destination_url', 'utm_content') }} as utm_content,\n {{ dbt_utils.get_url_parameter('destination_url', 'utm_term') }} as utm_term,\n name as pin_name,\n pin_id,\n status as pin_status,\n creative_type,\n _fivetran_synced\n from fields\n), \n\nsurrogate_key as (\n\n select \n *,\n row_number() over (partition by pin_promotion_id order by _fivetran_synced desc) = 1 as is_most_recent_record\n from final\n)\n\nselect *\nfrom surrogate_key", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.pinterest_source.get_pin_promotion_history_columns", "macro.fivetran_utils.fill_staging_columns", "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.pinterest_source.stg_pinterest_ads__pin_promotion_history_tmp", "model.pinterest_source.stg_pinterest_ads__pin_promotion_history_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "stg_pinterest_ads__pin_promotion_history"], "unique_id": "model.pinterest_source.stg_pinterest_ads__pin_promotion_history", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "stg_pinterest_ads__pin_promotion_history.sql", "original_file_path": "models/stg_pinterest_ads__pin_promotion_history.sql", "name": "stg_pinterest_ads__pin_promotion_history", "alias": "stg_pinterest_ads__pin_promotion_history", "checksum": {"name": "sha256", "checksum": "e58d90c1bb7d29becd3d75c83d9739700ab06395c88512b82cb292411aa0b846"}, "tags": [], "refs": [["stg_pinterest_ads__pin_promotion_history_tmp"], ["stg_pinterest_ads__pin_promotion_history_tmp"]], "sources": [], "description": "Each record represents a version of a Pinterest Pin promotion.", "columns": {"pin_promotion_id": {"name": "pin_promotion_id", "description": "Pin promotion ID.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_id": {"name": "ad_group_id", "description": "Pin promotion ad group ID.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "created_at": {"name": "created_at", "description": "Pin creation time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "destination_url": {"name": "destination_url", "description": "Pin destination URL.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "pin_name": {"name": "pin_name", "description": "Pin promotion name.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "pin_id": {"name": "pin_id", "description": "Original pin ID.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "pin_status": {"name": "pin_status", "description": "The status of the Pin promotion. One of \"ACTIVE\", \"ARCHIVED\", \"PAUSED\"", "meta": {}, "data_type": null, "quote": null, "tags": []}, "creative_type": {"name": "creative_type", "description": "The creative type. \nOne of \"APP\", \"APP_VIDEO\", \"BOARD\", \"CAROUSEL\", \"CINEMATIC\", \"COMMERCE\", \"MAX_VIDEO\", \"NATIVE_VIDEO\", \"REGULAR\", \n\"SEARCH_PROMINENCE\", \"SEARCH_PROMINENCE_CAROUSEL\", \"SHOPPING\", \"SHOP_THE_PIN\", \"THIRD_PARTY\", or \"VIDEO\".\n", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "is_most_recent_record": {"name": "is_most_recent_record", "description": "Boolean representing whether the record is the most recent version of the object.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "base_url": {"name": "base_url", "description": "The base URL of the ad, extracted from the `destination_url`.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "url_host": {"name": "url_host", "description": "The URL host of the ad, extracted from the `destination_url`.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "url_path": {"name": "url_path", "description": "The URL path of the ad, extracted from the `destination_url`.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "utm_source": {"name": "utm_source", "description": "The utm_source parameter of the ad, extracted from the `destination_url`.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "utm_medium": {"name": "utm_medium", "description": "The utm_medium parameter of the ad, extracted from the `destination_url`.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "utm_campaign": {"name": "utm_campaign", "description": "The utm_campaign parameter of the ad, extracted from the `destination_url`.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "utm_content": {"name": "utm_content", "description": "The utm_content parameter of the ad, extracted from the `destination_url`.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "utm_term": {"name": "utm_term", "description": "The utm_term parameter of the ad, extracted from the `destination_url`.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "pinterest_source://models/stg_pinterest_ads.yml", "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads__pin_promotion_history.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "table"}, "created_at": 1658332384.8658319, "compiled_sql": "with base as (\n\n select *\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__pin_promotion_history_tmp\"\n), \n\nfields as (\n\n select\n\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n ad_group_id\n \n as \n \n ad_group_id\n \n, \n cast(null as \n varchar\n) as \n \n android_deep_link\n \n , \n cast(null as \n varchar\n) as \n \n click_tracking_url\n \n , \n \n \n created_time\n \n as \n \n created_time\n \n, \n \n \n creative_type\n \n as \n \n creative_type\n \n, \n \n \n destination_url\n \n as \n \n destination_url\n \n, \n \n \n id\n \n as \n \n id\n \n, \n cast(null as \n varchar\n) as \n \n ios_deep_link\n \n , \n cast(null as boolean) as \n \n is_pin_deleted\n \n , \n cast(null as boolean) as \n \n is_removable\n \n , \n \n \n name\n \n as \n \n name\n \n, \n \n \n pin_id\n \n as \n \n pin_id\n \n, \n cast(null as \n varchar\n) as \n \n review_status\n \n , \n \n \n status\n \n as \n \n status\n \n, \n cast(null as \n timestamp without time zone\n) as \n \n updated_time\n \n , \n cast(null as \n varchar\n) as \n \n view_tracking_url\n \n \n\n\n from base\n), \n\nfinal as (\n\n select\n id as pin_promotion_id,\n ad_group_id,\n created_time as created_at,\n destination_url,\n \n\n \n \n\n split_part(\n destination_url,\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 destination_url,\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 destination_url,\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 destination_url,\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 destination_url,\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 destination_url,\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 nullif(\n\n \n \n\n split_part(\n \n\n \n \n\n split_part(\n destination_url,\n 'utm_source=',\n 2\n )\n\n\n \n\n,\n '&',\n 1\n )\n\n\n \n\n,'') as utm_source,\n nullif(\n\n \n \n\n split_part(\n \n\n \n \n\n split_part(\n destination_url,\n 'utm_medium=',\n 2\n )\n\n\n \n\n,\n '&',\n 1\n )\n\n\n \n\n,'') as utm_medium,\n nullif(\n\n \n \n\n split_part(\n \n\n \n \n\n split_part(\n destination_url,\n 'utm_campaign=',\n 2\n )\n\n\n \n\n,\n '&',\n 1\n )\n\n\n \n\n,'') as utm_campaign,\n nullif(\n\n \n \n\n split_part(\n \n\n \n \n\n split_part(\n destination_url,\n 'utm_content=',\n 2\n )\n\n\n \n\n,\n '&',\n 1\n )\n\n\n \n\n,'') as utm_content,\n nullif(\n\n \n \n\n split_part(\n \n\n \n \n\n split_part(\n destination_url,\n 'utm_term=',\n 2\n )\n\n\n \n\n,\n '&',\n 1\n )\n\n\n \n\n,'') as utm_term,\n name as pin_name,\n pin_id,\n status as pin_status,\n creative_type,\n _fivetran_synced\n from fields\n), \n\nsurrogate_key as (\n\n select \n *,\n row_number() over (partition by pin_promotion_id order by _fivetran_synced desc) = 1 as is_most_recent_record\n from final\n)\n\nselect *\nfrom surrogate_key", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__pin_promotion_history\""}, "model.pinterest_source.stg_pinterest_ads__keyword_report": {"raw_sql": "with base as (\n\n select * \n from {{ ref('stg_pinterest_ads__keyword_report_tmp') }}\n),\n\nfields as (\n\n select\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_pinterest_ads__keyword_report_tmp')),\n staging_columns=get_keyword_report_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select\n date as date_day,\n keyword_id,\n pin_promotion_id,\n ad_group_id,\n ad_group_name,\n ad_group_status,\n campaign_id,\n advertiser_id,\n coalesce(impression_1,0) + coalesce(impression_2,0) as impressions,\n coalesce(clickthrough_1,0) + coalesce(clickthrough_2,0) as clicks,\n spend_in_micro_dollar / 1000000.0 as spend\n\n {% for metric in var('pinterest__keyword_report_passthrough_metrics',[]) %}\n , {{ metric }}\n {% endfor %}\n\n from fields\n)\n\nselect *\nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.pinterest_source.get_keyword_report_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.pinterest_source.stg_pinterest_ads__keyword_report_tmp", "model.pinterest_source.stg_pinterest_ads__keyword_report_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "stg_pinterest_ads__keyword_report"], "unique_id": "model.pinterest_source.stg_pinterest_ads__keyword_report", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "stg_pinterest_ads__keyword_report.sql", "original_file_path": "models/stg_pinterest_ads__keyword_report.sql", "name": "stg_pinterest_ads__keyword_report", "alias": "stg_pinterest_ads__keyword_report", "checksum": {"name": "sha256", "checksum": "c91ccdc933830f32cd39e88713145bb31847fc659a848c3f064cf6470954e10c"}, "tags": [], "refs": [["stg_pinterest_ads__keyword_report_tmp"], ["stg_pinterest_ads__keyword_report_tmp"]], "sources": [], "description": "Each record represents the daily performance of Keywords by ad group, campaign, and advertiser.", "columns": {"date_day": {"name": "date_day", "description": "The performance date of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "keyword_id": {"name": "keyword_id", "description": "Unique identifier of the keyword.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "pin_promotion_id": {"name": "pin_promotion_id", "description": "The ID of the related Pin promotion.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_id": {"name": "ad_group_id", "description": "The ID of the related Ad group.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_name": {"name": "ad_group_name", "description": "Name of the ad group.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_status": {"name": "ad_group_status", "description": "Status of the ad group.", "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": []}, "advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impressions": {"name": "impressions", "description": "The number of paid and earned impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clicks": {"name": "clicks", "description": "The number of paid and earned clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend": {"name": "spend", "description": "The amount of spend that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "pinterest_source://models/stg_pinterest_ads.yml", "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads__keyword_report.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "table"}, "created_at": 1658332384.877028, "compiled_sql": "with base as (\n\n select * \n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__keyword_report_tmp\"\n),\n\nfields as (\n\n select\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n ad_group_id\n \n as \n \n ad_group_id\n \n, \n \n \n ad_group_name\n \n as \n \n ad_group_name\n \n, \n \n \n ad_group_status\n \n as \n \n ad_group_status\n \n, \n \n \n advertiser_id\n \n as \n \n advertiser_id\n \n, \n \n \n campaign_id\n \n as \n \n campaign_id\n \n, \n \n \n clickthrough_1\n \n as \n \n clickthrough_1\n \n, \n cast(null as \n int\n) as \n \n clickthrough_2\n \n , \n \n \n date\n \n as \n \n date\n \n, \n \n \n impression_1\n \n as \n \n impression_1\n \n, \n cast(null as \n int\n) as \n \n impression_2\n \n , \n \n \n keyword_id\n \n as \n \n keyword_id\n \n, \n \n \n pin_promotion_id\n \n as \n \n pin_promotion_id\n \n, \n \n \n spend_in_micro_dollar\n \n as \n \n spend_in_micro_dollar\n \n\n\n\n from base\n),\n\nfinal as (\n \n select\n date as date_day,\n keyword_id,\n pin_promotion_id,\n ad_group_id,\n ad_group_name,\n ad_group_status,\n campaign_id,\n advertiser_id,\n coalesce(impression_1,0) + coalesce(impression_2,0) as impressions,\n coalesce(clickthrough_1,0) + coalesce(clickthrough_2,0) as clicks,\n spend_in_micro_dollar / 1000000.0 as spend\n\n \n\n from fields\n)\n\nselect *\nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__keyword_report\""}, "model.pinterest_source.stg_pinterest_ads__ad_group_report": {"raw_sql": "with base as (\n\n select * \n from {{ ref('stg_pinterest_ads__ad_group_report_tmp') }}\n),\n\nfields as (\n\n select\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_pinterest_ads__ad_group_report_tmp')),\n staging_columns=get_ad_group_report_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select \n date as date_day,\n ad_group_id,\n ad_group_name,\n ad_group_status,\n campaign_id,\n advertiser_id,\n coalesce(impression_1,0) + coalesce(impression_2,0) as impressions,\n coalesce(clickthrough_1,0) + coalesce(clickthrough_2,0) as clicks,\n spend_in_micro_dollar / 1000000.0 as spend\n\n {% for metric in var('pinterest__ad_group_report_passthrough_metrics',[]) %}\n , {{ metric }}\n {% endfor %}\n\n from fields\n)\n\nselect *\nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.pinterest_source.get_ad_group_report_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.pinterest_source.stg_pinterest_ads__ad_group_report_tmp", "model.pinterest_source.stg_pinterest_ads__ad_group_report_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "stg_pinterest_ads__ad_group_report"], "unique_id": "model.pinterest_source.stg_pinterest_ads__ad_group_report", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "stg_pinterest_ads__ad_group_report.sql", "original_file_path": "models/stg_pinterest_ads__ad_group_report.sql", "name": "stg_pinterest_ads__ad_group_report", "alias": "stg_pinterest_ads__ad_group_report", "checksum": {"name": "sha256", "checksum": "831a620b53cd2228cfb4d7f5bdd9ad85631972d6049b263d3e15234d84ae3e18"}, "tags": [], "refs": [["stg_pinterest_ads__ad_group_report_tmp"], ["stg_pinterest_ads__ad_group_report_tmp"]], "sources": [], "description": "Each record represents the daily performance of a Pinterest Ad Groups by advertiser.", "columns": {"date_day": {"name": "date_day", "description": "The performance date of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_id": {"name": "ad_group_id", "description": "The ID of the related Ad group.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_name": {"name": "ad_group_name", "description": "Name of the ad group.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_status": {"name": "ad_group_status", "description": "Status of the ad group.", "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": []}, "advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impressions": {"name": "impressions", "description": "The number of paid and earned impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clicks": {"name": "clicks", "description": "The number of paid and earned clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend": {"name": "spend", "description": "The amount of spend that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "pinterest_source://models/stg_pinterest_ads.yml", "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads__ad_group_report.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "table"}, "created_at": 1658332384.868716, "compiled_sql": "with base as (\n\n select * \n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__ad_group_report_tmp\"\n),\n\nfields as (\n\n select\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n ad_group_id\n \n as \n \n ad_group_id\n \n, \n \n \n ad_group_name\n \n as \n \n ad_group_name\n \n, \n \n \n ad_group_status\n \n as \n \n ad_group_status\n \n, \n \n \n advertiser_id\n \n as \n \n advertiser_id\n \n, \n \n \n campaign_id\n \n as \n \n campaign_id\n \n, \n \n \n clickthrough_1\n \n as \n \n clickthrough_1\n \n, \n cast(null as \n int\n) as \n \n clickthrough_2\n \n , \n \n \n date\n \n as \n \n date\n \n, \n \n \n impression_1\n \n as \n \n impression_1\n \n, \n cast(null as \n int\n) as \n \n impression_2\n \n , \n \n \n spend_in_micro_dollar\n \n as \n \n spend_in_micro_dollar\n \n\n\n\n from base\n),\n\nfinal as (\n \n select \n date as date_day,\n ad_group_id,\n ad_group_name,\n ad_group_status,\n campaign_id,\n advertiser_id,\n coalesce(impression_1,0) + coalesce(impression_2,0) as impressions,\n coalesce(clickthrough_1,0) + coalesce(clickthrough_2,0) as clicks,\n spend_in_micro_dollar / 1000000.0 as spend\n\n \n\n from fields\n)\n\nselect *\nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__ad_group_report\""}, "model.pinterest_source.stg_pinterest_ads__campaign_history": {"raw_sql": "with base as (\n\n select *\n from {{ ref('stg_pinterest_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_pinterest_ads__campaign_history_tmp')),\n staging_columns=get_campaign_history_columns()\n )\n }}\n from base\n), \n\nfinal as (\n\n select \n id as campaign_id,\n name as campaign_name,\n advertiser_id,\n status as campaign_status,\n _fivetran_synced,\n created_time as created_at\n from fields\n),\n\nmost_recent as (\n select \n *,\n row_number() over (partition by campaign_id order by _fivetran_synced desc) = 1 as is_most_recent_record\n from final\n)\n\nselect *\nfrom most_recent", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.pinterest_source.get_campaign_history_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.pinterest_source.stg_pinterest_ads__campaign_history_tmp", "model.pinterest_source.stg_pinterest_ads__campaign_history_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "stg_pinterest_ads__campaign_history"], "unique_id": "model.pinterest_source.stg_pinterest_ads__campaign_history", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "stg_pinterest_ads__campaign_history.sql", "original_file_path": "models/stg_pinterest_ads__campaign_history.sql", "name": "stg_pinterest_ads__campaign_history", "alias": "stg_pinterest_ads__campaign_history", "checksum": {"name": "sha256", "checksum": "dc5acb7c99056c415b7b7819b6054f15750b165179f7e55ab21afb705088b6eb"}, "tags": [], "refs": [["stg_pinterest_ads__campaign_history_tmp"], ["stg_pinterest_ads__campaign_history_tmp"]], "sources": [], "description": "Each record represents a version of a Pinterest Campaign.", "columns": {"campaign_id": {"name": "campaign_id", "description": "The ID of the related Campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "created_at": {"name": "created_at", "description": "Campaign creation time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_name": {"name": "campaign_name", "description": "Campaign name.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_status": {"name": "campaign_status", "description": "The status of the Campaign. One of \"ACTIVE\", \"ARCHIVED\", \"PAUSED\"", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "is_most_recent_record": {"name": "is_most_recent_record", "description": "Boolean representing whether the record is the most recent version of the object.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "pinterest_source://models/stg_pinterest_ads.yml", "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads__campaign_history.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "table"}, "created_at": 1658332384.8628721, "compiled_sql": "with base as (\n\n select *\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__campaign_history_tmp\"\n), \n\nfields as (\n\n select\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n created_time\n \n as \n \n created_time\n \n, \n \n \n id\n \n as \n \n id\n \n, \n \n \n advertiser_id\n \n as \n \n advertiser_id\n \n, \n \n \n name\n \n as \n \n name\n \n, \n \n \n status\n \n as \n \n status\n \n\n\n\n from base\n), \n\nfinal as (\n\n select \n id as campaign_id,\n name as campaign_name,\n advertiser_id,\n status as campaign_status,\n _fivetran_synced,\n created_time as created_at\n from fields\n),\n\nmost_recent as (\n select \n *,\n row_number() over (partition by campaign_id order by _fivetran_synced desc) = 1 as is_most_recent_record\n from final\n)\n\nselect *\nfrom most_recent", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__campaign_history\""}, "model.pinterest_source.stg_pinterest_ads__advertiser_report": {"raw_sql": "with base as (\n\n select * \n from {{ ref('stg_pinterest_ads__advertiser_report_tmp') }}\n),\n\nfields as (\n\n select\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_pinterest_ads__advertiser_report_tmp')),\n staging_columns=get_advertiser_report_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select \n date as date_day,\n advertiser_id,\n coalesce(impression_1,0) + coalesce(impression_2,0) as impressions,\n coalesce(clickthrough_1,0) + coalesce(clickthrough_2,0) as clicks,\n spend_in_micro_dollar / 1000000.0 as spend\n\n {% for metric in var('pinterest__advertiser_report_passthrough_metrics',[]) %}\n , {{ metric }}\n {% endfor %}\n\n from fields\n)\n\nselect *\nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.pinterest_source.get_advertiser_report_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.pinterest_source.stg_pinterest_ads__advertiser_report_tmp", "model.pinterest_source.stg_pinterest_ads__advertiser_report_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "stg_pinterest_ads__advertiser_report"], "unique_id": "model.pinterest_source.stg_pinterest_ads__advertiser_report", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "stg_pinterest_ads__advertiser_report.sql", "original_file_path": "models/stg_pinterest_ads__advertiser_report.sql", "name": "stg_pinterest_ads__advertiser_report", "alias": "stg_pinterest_ads__advertiser_report", "checksum": {"name": "sha256", "checksum": "03f1b3e5345e9e8b873f1c6e2b5d3b59148ec9df51694167a83bb69c1859e010"}, "tags": [], "refs": [["stg_pinterest_ads__advertiser_report_tmp"], ["stg_pinterest_ads__advertiser_report_tmp"]], "sources": [], "description": "Each record represents the daily performance of an Advertiser.", "columns": {"date_day": {"name": "date_day", "description": "The performance date of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impressions": {"name": "impressions", "description": "The number of paid and earned impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clicks": {"name": "clicks", "description": "The number of paid and earned clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend": {"name": "spend", "description": "The amount of spend that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "pinterest_source://models/stg_pinterest_ads.yml", "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads__advertiser_report.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "table"}, "created_at": 1658332384.871853, "compiled_sql": "with base as (\n\n select * \n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__advertiser_report_tmp\"\n),\n\nfields as (\n\n select\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n advertiser_id\n \n as \n \n advertiser_id\n \n, \n \n \n clickthrough_1\n \n as \n \n clickthrough_1\n \n, \n cast(null as \n int\n) as \n \n clickthrough_2\n \n , \n \n \n date\n \n as \n \n date\n \n, \n \n \n impression_1\n \n as \n \n impression_1\n \n, \n cast(null as \n int\n) as \n \n impression_2\n \n , \n \n \n spend_in_micro_dollar\n \n as \n \n spend_in_micro_dollar\n \n\n\n\n from base\n),\n\nfinal as (\n \n select \n date as date_day,\n advertiser_id,\n coalesce(impression_1,0) + coalesce(impression_2,0) as impressions,\n coalesce(clickthrough_1,0) + coalesce(clickthrough_2,0) as clicks,\n spend_in_micro_dollar / 1000000.0 as spend\n\n \n\n from fields\n)\n\nselect *\nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__advertiser_report\""}, "model.pinterest_source.stg_pinterest_ads__advertiser_history": {"raw_sql": "with base as (\n\n select * \n from {{ ref('stg_pinterest_ads__advertiser_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_pinterest_ads__advertiser_history_tmp')),\n staging_columns=get_advertiser_history_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select \n id as advertiser_id,\n name as advertiser_name,\n status as advertiser_status,\n billing_profile_status,\n billing_type,\n country,\n created_time as created_at,\n currency as currency_code,\n merchant_id,\n owner_user_id,\n updated_time as updated_at\n from fields\n),\n\nmost_recent as (\n select\n *,\n row_number() over (partition by advertiser_id order by updated_at desc) = 1 as is_most_recent_record\n from final\n\n)\n\nselect *\nfrom most_recent", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.pinterest_source.get_advertiser_history_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.pinterest_source.stg_pinterest_ads__advertiser_history_tmp", "model.pinterest_source.stg_pinterest_ads__advertiser_history_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "stg_pinterest_ads__advertiser_history"], "unique_id": "model.pinterest_source.stg_pinterest_ads__advertiser_history", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "stg_pinterest_ads__advertiser_history.sql", "original_file_path": "models/stg_pinterest_ads__advertiser_history.sql", "name": "stg_pinterest_ads__advertiser_history", "alias": "stg_pinterest_ads__advertiser_history", "checksum": {"name": "sha256", "checksum": "a735cb6bffb3302d2717a3133bb5e1989c3b174bd15b94631e4f62d67d2bc71e"}, "tags": [], "refs": [["stg_pinterest_ads__advertiser_history_tmp"], ["stg_pinterest_ads__advertiser_history_tmp"]], "sources": [], "description": "Each record represents a version of an advertiser.", "columns": {"advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "advertiser_name": {"name": "advertiser_name", "description": "Name of the advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "advertiser_status": {"name": "advertiser_status", "description": "Status of the advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "billing_profile_status": {"name": "billing_profile_status", "description": "Status of the billing profile.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "billing_type": {"name": "billing_type", "description": "The billing type of the advertiser. Will typically be CREDIT_CARD or INVOICE.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "country": {"name": "country", "description": "The country code where the advertiser is located.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "created_at": {"name": "created_at", "description": "Timestamp of when a record was created.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "currency_code": {"name": "currency_code", "description": "The currency code which the advertiser is set up using.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "merchant_id": {"name": "merchant_id", "description": "Unique ID of the merchant associated with the advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "owner_user_id": {"name": "owner_user_id", "description": "Unique identifier of the owner user.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "updated_at": {"name": "updated_at", "description": "Timestamp of when a record was last updated.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "is_most_recent_record": {"name": "is_most_recent_record", "description": "Boolean representing whether the record is the most recent version of the object.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "pinterest_source://models/stg_pinterest_ads.yml", "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads__advertiser_history.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "table"}, "created_at": 1658332384.870657, "compiled_sql": "with base as (\n\n select * \n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__advertiser_history_tmp\"\n),\n\nfields as (\n\n select\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n billing_profile_status\n \n as \n \n billing_profile_status\n \n, \n \n \n billing_type\n \n as \n \n billing_type\n \n, \n \n \n country\n \n as \n \n country\n \n, \n \n \n created_time\n \n as \n \n created_time\n \n, \n \n \n currency\n \n as \n \n currency\n \n, \n \n \n id\n \n as \n \n id\n \n, \n \n \n merchant_id\n \n as \n \n merchant_id\n \n, \n \n \n name\n \n as \n \n name\n \n, \n \n \n owner_user_id\n \n as \n \n owner_user_id\n \n, \n \n \n status\n \n as \n \n status\n \n, \n \n \n updated_time\n \n as \n \n updated_time\n \n\n\n\n from base\n),\n\nfinal as (\n \n select \n id as advertiser_id,\n name as advertiser_name,\n status as advertiser_status,\n billing_profile_status,\n billing_type,\n country,\n created_time as created_at,\n currency as currency_code,\n merchant_id,\n owner_user_id,\n updated_time as updated_at\n from fields\n),\n\nmost_recent as (\n select\n *,\n row_number() over (partition by advertiser_id order by updated_at desc) = 1 as is_most_recent_record\n from final\n\n)\n\nselect *\nfrom most_recent", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__advertiser_history\""}, "model.pinterest_source.stg_pinterest_ads__campaign_report": {"raw_sql": "with base as (\n\n select * \n from {{ ref('stg_pinterest_ads__campaign_report_tmp') }}\n),\n\nfields as (\n\n select\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_pinterest_ads__campaign_report_tmp')),\n staging_columns=get_campaign_report_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select \n date as date_day,\n campaign_id,\n campaign_name,\n campaign_status,\n advertiser_id,\n coalesce(impression_1,0) + coalesce(impression_2,0) as impressions,\n coalesce(clickthrough_1,0) + coalesce(clickthrough_2,0) as clicks,\n spend_in_micro_dollar / 1000000.0 as spend\n\n {% for metric in var('pinterest__campaign_report_passthrough_metrics',[]) %}\n , {{ metric }}\n {% endfor %}\n\n from fields\n)\n\nselect *\nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.pinterest_source.get_campaign_report_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.pinterest_source.stg_pinterest_ads__campaign_report_tmp", "model.pinterest_source.stg_pinterest_ads__campaign_report_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "stg_pinterest_ads__campaign_report"], "unique_id": "model.pinterest_source.stg_pinterest_ads__campaign_report", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "stg_pinterest_ads__campaign_report.sql", "original_file_path": "models/stg_pinterest_ads__campaign_report.sql", "name": "stg_pinterest_ads__campaign_report", "alias": "stg_pinterest_ads__campaign_report", "checksum": {"name": "sha256", "checksum": "6951407d8fc8c1e72020f1da5c8d36a746f7d5d4f9c20ed5592b75dec402d725"}, "tags": [], "refs": [["stg_pinterest_ads__campaign_report_tmp"], ["stg_pinterest_ads__campaign_report_tmp"]], "sources": [], "description": "Each record represents the daily performance of Campaigns by advertiser.", "columns": {"date_day": {"name": "date_day", "description": "The performance date of the record.", "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": "Name of the campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_status": {"name": "campaign_status", "description": "Status of the campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impressions": {"name": "impressions", "description": "The number of paid and earned impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clicks": {"name": "clicks", "description": "The number of paid and earned clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend": {"name": "spend", "description": "The amount of spend that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "pinterest_source://models/stg_pinterest_ads.yml", "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads__campaign_report.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "table"}, "created_at": 1658332384.8733819, "compiled_sql": "with base as (\n\n select * \n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__campaign_report_tmp\"\n),\n\nfields as (\n\n select\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n advertiser_id\n \n as \n \n advertiser_id\n \n, \n \n \n campaign_id\n \n as \n \n campaign_id\n \n, \n \n \n campaign_name\n \n as \n \n campaign_name\n \n, \n \n \n campaign_status\n \n as \n \n campaign_status\n \n, \n \n \n clickthrough_1\n \n as \n \n clickthrough_1\n \n, \n cast(null as \n int\n) as \n \n clickthrough_2\n \n , \n \n \n date\n \n as \n \n date\n \n, \n \n \n impression_1\n \n as \n \n impression_1\n \n, \n cast(null as \n int\n) as \n \n impression_2\n \n , \n \n \n spend_in_micro_dollar\n \n as \n \n spend_in_micro_dollar\n \n\n\n\n from base\n),\n\nfinal as (\n \n select \n date as date_day,\n campaign_id,\n campaign_name,\n campaign_status,\n advertiser_id,\n coalesce(impression_1,0) + coalesce(impression_2,0) as impressions,\n coalesce(clickthrough_1,0) + coalesce(clickthrough_2,0) as clicks,\n spend_in_micro_dollar / 1000000.0 as spend\n\n \n\n from fields\n)\n\nselect *\nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__campaign_report\""}, "model.pinterest_source.stg_pinterest_ads__keyword_history": {"raw_sql": "with base as (\n\n select * \n from {{ ref('stg_pinterest_ads__keyword_history_tmp') }}\n),\n\nfields as (\n\n select\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_pinterest_ads__keyword_history_tmp')),\n staging_columns=get_keyword_history_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select\n id as keyword_id,\n value as keyword_value,\n _fivetran_id,\n _fivetran_synced,\n ad_group_id,\n advertiser_id,\n archived,\n bid,\n campaign_id,\n match_type,\n parent_type\n from fields\n),\n\nmost_recent as (\n select\n *,\n row_number() over (partition by keyword_id order by _fivetran_synced desc) = 1 as is_most_recent_record\n from final\n)\n\nselect *\nfrom most_recent", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.pinterest_source.get_keyword_history_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.pinterest_source.stg_pinterest_ads__keyword_history_tmp", "model.pinterest_source.stg_pinterest_ads__keyword_history_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "stg_pinterest_ads__keyword_history"], "unique_id": "model.pinterest_source.stg_pinterest_ads__keyword_history", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "stg_pinterest_ads__keyword_history.sql", "original_file_path": "models/stg_pinterest_ads__keyword_history.sql", "name": "stg_pinterest_ads__keyword_history", "alias": "stg_pinterest_ads__keyword_history", "checksum": {"name": "sha256", "checksum": "699cd5961a1e73f18759bc85f569a503a381173579b2aa02bc27e1e8ae33fefd"}, "tags": [], "refs": [["stg_pinterest_ads__keyword_history_tmp"], ["stg_pinterest_ads__keyword_history_tmp"]], "sources": [], "description": "Each record represents the daily performance of a Keyword.", "columns": {"keyword_id": {"name": "keyword_id", "description": "Unique identifier of the keyword.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "keyword_value": {"name": "keyword_value", "description": "The text value that makes upd the keyword.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_id": {"name": "_fivetran_id", "description": "The unique identifier of the record within the Fivetran synced table.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_id": {"name": "ad_group_id", "description": "The ID of the related Ad group.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "archived": {"name": "archived", "description": "Boolean indicating if the keyword is archived.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "bid": {"name": "bid", "description": "Bid amount set for the keyword.", "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": []}, "match_type": {"name": "match_type", "description": "Type of match the keyword is tied to. Either Exact or Broad.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "parent_type": {"name": "parent_type", "description": "Identifier of what grain the parent type is. Ad group or campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "is_most_recent_record": {"name": "is_most_recent_record", "description": "Boolean representing whether the record is the most recent version of the object.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "pinterest_source://models/stg_pinterest_ads.yml", "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads__keyword_history.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "table"}, "created_at": 1658332384.8752792, "compiled_sql": "with base as (\n\n select * \n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__keyword_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 ad_group_id\n \n as \n \n ad_group_id\n \n, \n \n \n advertiser_id\n \n as \n \n advertiser_id\n \n, \n \n \n archived\n \n as \n \n archived\n \n, \n \n \n bid\n \n as \n \n bid\n \n, \n \n \n campaign_id\n \n as \n \n campaign_id\n \n, \n \n \n id\n \n as \n \n id\n \n, \n \n \n match_type\n \n as \n \n match_type\n \n, \n \n \n parent_type\n \n as \n \n parent_type\n \n, \n \n \n value\n \n as \n \n value\n \n\n\n\n from base\n),\n\nfinal as (\n \n select\n id as keyword_id,\n value as keyword_value,\n _fivetran_id,\n _fivetran_synced,\n ad_group_id,\n advertiser_id,\n archived,\n bid,\n campaign_id,\n match_type,\n parent_type\n from fields\n),\n\nmost_recent as (\n select\n *,\n row_number() over (partition by keyword_id order by _fivetran_synced desc) = 1 as is_most_recent_record\n from final\n)\n\nselect *\nfrom most_recent", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__keyword_history\""}, "model.pinterest_source.stg_pinterest_ads__pin_promotion_report": {"raw_sql": "with base as (\n\n select *\n from {{ ref('stg_pinterest_ads__pin_promotion_report_tmp') }}\n), \n\nfields as (\n\n select\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_pinterest_ads__pin_promotion_report_tmp')),\n staging_columns=get_pin_promotion_report_columns()\n )\n }}\n from base\n), \n\nfinal as (\n\n select \n date as date_day,\n pin_promotion_id,\n ad_group_id,\n campaign_id,\n advertiser_id,\n coalesce(impression_1,0) + coalesce(impression_2,0) as impressions,\n coalesce(clickthrough_1,0) + coalesce(clickthrough_2,0) as clicks,\n spend_in_micro_dollar / 1000000.0 as spend\n\n {% for metric in var('pinterest__pin_promotion_report_passthrough_metrics',[]) %}\n , {{ metric }}\n {% endfor %}\n\n from fields\n)\n\nselect *\nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.pinterest_source.get_pin_promotion_report_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_report_tmp", "model.pinterest_source.stg_pinterest_ads__pin_promotion_report_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "stg_pinterest_ads__pin_promotion_report"], "unique_id": "model.pinterest_source.stg_pinterest_ads__pin_promotion_report", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "stg_pinterest_ads__pin_promotion_report.sql", "original_file_path": "models/stg_pinterest_ads__pin_promotion_report.sql", "name": "stg_pinterest_ads__pin_promotion_report", "alias": "stg_pinterest_ads__pin_promotion_report", "checksum": {"name": "sha256", "checksum": "64a1d7976df9e9ee2f030affc190a3ca54469f80497c95b7d636abf3065c602a"}, "tags": [], "refs": [["stg_pinterest_ads__pin_promotion_report_tmp"], ["stg_pinterest_ads__pin_promotion_report_tmp"]], "sources": [], "description": "Each record represents the daily performance of a Pinterest Pin promotion by ad group, campaign, and advertiser.", "columns": {"date_day": {"name": "date_day", "description": "The performance date of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "pin_promotion_id": {"name": "pin_promotion_id", "description": "The ID of the related Pin promotion.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_id": {"name": "ad_group_id", "description": "The ID of the related Ad group.", "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": []}, "advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impressions": {"name": "impressions", "description": "The number of paid and earned impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clicks": {"name": "clicks", "description": "The number of paid and earned clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend": {"name": "spend", "description": "The amount of spend that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "pinterest_source://models/stg_pinterest_ads.yml", "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads__pin_promotion_report.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "table"}, "created_at": 1658332384.867187, "compiled_sql": "with base as (\n\n select *\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__pin_promotion_report_tmp\"\n), \n\nfields as (\n\n select\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n ad_group_id\n \n as \n \n ad_group_id\n \n, \n \n \n advertiser_id\n \n as \n \n advertiser_id\n \n, \n \n \n campaign_id\n \n as \n \n campaign_id\n \n, \n \n \n clickthrough_1\n \n as \n \n clickthrough_1\n \n, \n \n \n clickthrough_2\n \n as \n \n clickthrough_2\n \n, \n \n \n date\n \n as \n \n date\n \n, \n \n \n impression_1\n \n as \n \n impression_1\n \n, \n \n \n impression_2\n \n as \n \n impression_2\n \n, \n \n \n pin_promotion_id\n \n as \n \n pin_promotion_id\n \n, \n \n \n spend_in_micro_dollar\n \n as \n \n spend_in_micro_dollar\n \n\n\n\n from base\n), \n\nfinal as (\n\n select \n date as date_day,\n pin_promotion_id,\n ad_group_id,\n campaign_id,\n advertiser_id,\n coalesce(impression_1,0) + coalesce(impression_2,0) as impressions,\n coalesce(clickthrough_1,0) + coalesce(clickthrough_2,0) as clicks,\n spend_in_micro_dollar / 1000000.0 as spend\n\n \n\n from fields\n)\n\nselect *\nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__pin_promotion_report\""}, "model.pinterest_source.stg_pinterest_ads__ad_group_history": {"raw_sql": "with base as (\n\n select *\n from {{ ref('stg_pinterest_ads__ad_group_history_tmp') }}\n), \n\nfields as (\n\n select\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_pinterest_ads__ad_group_history_tmp')),\n staging_columns=get_ad_group_history_columns()\n )\n }}\n from base\n), \n\nfinal as (\n\n select \n id as ad_group_id,\n name as ad_group_name,\n status as ad_group_status,\n _fivetran_synced,\n campaign_id,\n created_time as created_at,\n end_time,\n start_time\n from fields\n),\n\nmost_recent as (\n select\n *,\n row_number() over (partition by ad_group_id order by _fivetran_synced desc) = 1 as is_most_recent_record\n from final\n)\n\nselect *\nfrom most_recent", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.pinterest_source.get_ad_group_history_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.pinterest_source.stg_pinterest_ads__ad_group_history_tmp", "model.pinterest_source.stg_pinterest_ads__ad_group_history_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "stg_pinterest_ads__ad_group_history"], "unique_id": "model.pinterest_source.stg_pinterest_ads__ad_group_history", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "stg_pinterest_ads__ad_group_history.sql", "original_file_path": "models/stg_pinterest_ads__ad_group_history.sql", "name": "stg_pinterest_ads__ad_group_history", "alias": "stg_pinterest_ads__ad_group_history", "checksum": {"name": "sha256", "checksum": "c84e7a8de947ba3bc3101e41f3ce4686265dc854469da158e839759dc2844303"}, "tags": [], "refs": [["stg_pinterest_ads__ad_group_history_tmp"], ["stg_pinterest_ads__ad_group_history_tmp"]], "sources": [], "description": "Each record represents a version of a Pinterest Ad Group.", "columns": {"ad_group_id": {"name": "ad_group_id", "description": "Ad group ID.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_id": {"name": "campaign_id", "description": "Parent Campaign ID.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "created_at": {"name": "created_at", "description": "Ad group creation time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_name": {"name": "ad_group_name", "description": "Ad group name.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_status": {"name": "ad_group_status", "description": "The status of the Ad group. One of \"ACTIVE\", \"ARCHIVED\", \"PAUSED\"", "meta": {}, "data_type": null, "quote": null, "tags": []}, "start_time": {"name": "start_time", "description": "Ad group start time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "end_time": {"name": "end_time", "description": "Ad group end time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "is_most_recent_record": {"name": "is_most_recent_record", "description": "Boolean representing whether the record is the most recent version of the object.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "pinterest_source://models/stg_pinterest_ads.yml", "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads__ad_group_history.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "table"}, "created_at": 1658332384.86159, "compiled_sql": "with base as (\n\n select *\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__ad_group_history_tmp\"\n), \n\nfields as (\n\n select\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n campaign_id\n \n as \n \n campaign_id\n \n, \n \n \n created_time\n \n as \n \n created_time\n \n, \n \n \n end_time\n \n as \n \n end_time\n \n, \n \n \n id\n \n as \n \n id\n \n, \n \n \n name\n \n as \n \n name\n \n, \n \n \n start_time\n \n as \n \n start_time\n \n, \n \n \n status\n \n as \n \n status\n \n\n\n\n from base\n), \n\nfinal as (\n\n select \n id as ad_group_id,\n name as ad_group_name,\n status as ad_group_status,\n _fivetran_synced,\n campaign_id,\n created_time as created_at,\n end_time,\n start_time\n from fields\n),\n\nmost_recent as (\n select\n *,\n row_number() over (partition by ad_group_id order by _fivetran_synced desc) = 1 as is_most_recent_record\n from final\n)\n\nselect *\nfrom most_recent", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__ad_group_history\""}, "model.pinterest_source.stg_pinterest_ads__advertiser_history_tmp": {"raw_sql": "select * \nfrom {{ var('advertiser_history') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.pinterest_source.pinterest_ads.advertiser_history"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "tmp", "stg_pinterest_ads__advertiser_history_tmp"], "unique_id": "model.pinterest_source.stg_pinterest_ads__advertiser_history_tmp", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "tmp/stg_pinterest_ads__advertiser_history_tmp.sql", "original_file_path": "models/tmp/stg_pinterest_ads__advertiser_history_tmp.sql", "name": "stg_pinterest_ads__advertiser_history_tmp", "alias": "stg_pinterest_ads__advertiser_history_tmp", "checksum": {"name": "sha256", "checksum": "60dc1039a40b4fd101ac71b52584219ef441b8f3231fab7270a1725731849343"}, "tags": [], "refs": [], "sources": [["pinterest_ads", "advertiser_history"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/tmp/stg_pinterest_ads__advertiser_history_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "view"}, "created_at": 1658332384.803921, "compiled_sql": "select * \nfrom \"postgres\".\"pinterest_source_integration_tests\".\"advertiser_history_data\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__advertiser_history_tmp\""}, "model.pinterest_source.stg_pinterest_ads__pin_promotion_report_tmp": {"raw_sql": "select *\nfrom {{ var('pin_promotion_report') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.pinterest_source.pinterest_ads.pin_promotion_report"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "tmp", "stg_pinterest_ads__pin_promotion_report_tmp"], "unique_id": "model.pinterest_source.stg_pinterest_ads__pin_promotion_report_tmp", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "tmp/stg_pinterest_ads__pin_promotion_report_tmp.sql", "original_file_path": "models/tmp/stg_pinterest_ads__pin_promotion_report_tmp.sql", "name": "stg_pinterest_ads__pin_promotion_report_tmp", "alias": "stg_pinterest_ads__pin_promotion_report_tmp", "checksum": {"name": "sha256", "checksum": "18cfa5bd72f823f350eb4fd5f5400957cc628d66510236ca582e0186f4ed24f4"}, "tags": [], "refs": [], "sources": [["pinterest_ads", "pin_promotion_report"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/tmp/stg_pinterest_ads__pin_promotion_report_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "view"}, "created_at": 1658332384.807297, "compiled_sql": "select *\nfrom \"postgres\".\"pinterest_source_integration_tests\".\"pin_promotion_report_data\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__pin_promotion_report_tmp\""}, "model.pinterest_source.stg_pinterest_ads__campaign_report_tmp": {"raw_sql": "select * \nfrom {{ var('campaign_report') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.pinterest_source.pinterest_ads.campaign_report"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "tmp", "stg_pinterest_ads__campaign_report_tmp"], "unique_id": "model.pinterest_source.stg_pinterest_ads__campaign_report_tmp", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "tmp/stg_pinterest_ads__campaign_report_tmp.sql", "original_file_path": "models/tmp/stg_pinterest_ads__campaign_report_tmp.sql", "name": "stg_pinterest_ads__campaign_report_tmp", "alias": "stg_pinterest_ads__campaign_report_tmp", "checksum": {"name": "sha256", "checksum": "5f611ed15f119a95ac9ba29f2463d1924782790c0678cfca4fd0f25aab4d4296"}, "tags": [], "refs": [], "sources": [["pinterest_ads", "campaign_report"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/tmp/stg_pinterest_ads__campaign_report_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "view"}, "created_at": 1658332384.810993, "compiled_sql": "select * \nfrom \"postgres\".\"pinterest_source_integration_tests\".\"campaign_report_data\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__campaign_report_tmp\""}, "model.pinterest_source.stg_pinterest_ads__advertiser_report_tmp": {"raw_sql": "select * \nfrom {{ var('advertiser_report') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.pinterest_source.pinterest_ads.advertiser_report"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "tmp", "stg_pinterest_ads__advertiser_report_tmp"], "unique_id": "model.pinterest_source.stg_pinterest_ads__advertiser_report_tmp", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "tmp/stg_pinterest_ads__advertiser_report_tmp.sql", "original_file_path": "models/tmp/stg_pinterest_ads__advertiser_report_tmp.sql", "name": "stg_pinterest_ads__advertiser_report_tmp", "alias": "stg_pinterest_ads__advertiser_report_tmp", "checksum": {"name": "sha256", "checksum": "68f4f29d7cc41371c11bca9e1ac615df584965bb7be78dda187252b1893b6a17"}, "tags": [], "refs": [], "sources": [["pinterest_ads", "advertiser_report"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/tmp/stg_pinterest_ads__advertiser_report_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "view"}, "created_at": 1658332384.813812, "compiled_sql": "select * \nfrom \"postgres\".\"pinterest_source_integration_tests\".\"advertiser_report_data\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__advertiser_report_tmp\""}, "model.pinterest_source.stg_pinterest_ads__keyword_report_tmp": {"raw_sql": "select * \nfrom {{ var('keyword_report') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.pinterest_source.pinterest_ads.keyword_report"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "tmp", "stg_pinterest_ads__keyword_report_tmp"], "unique_id": "model.pinterest_source.stg_pinterest_ads__keyword_report_tmp", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "tmp/stg_pinterest_ads__keyword_report_tmp.sql", "original_file_path": "models/tmp/stg_pinterest_ads__keyword_report_tmp.sql", "name": "stg_pinterest_ads__keyword_report_tmp", "alias": "stg_pinterest_ads__keyword_report_tmp", "checksum": {"name": "sha256", "checksum": "180a05437502b97ae4654b06e70dee2f2324b4b80815c2be214cdc9cfcb4a99d"}, "tags": [], "refs": [], "sources": [["pinterest_ads", "keyword_report"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/tmp/stg_pinterest_ads__keyword_report_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "view"}, "created_at": 1658332384.8165498, "compiled_sql": "select * \nfrom \"postgres\".\"pinterest_source_integration_tests\".\"keyword_report_data\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__keyword_report_tmp\""}, "model.pinterest_source.stg_pinterest_ads__ad_group_report_tmp": {"raw_sql": "select * \nfrom {{ var('ad_group_report') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.pinterest_source.pinterest_ads.ad_group_report"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "tmp", "stg_pinterest_ads__ad_group_report_tmp"], "unique_id": "model.pinterest_source.stg_pinterest_ads__ad_group_report_tmp", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "tmp/stg_pinterest_ads__ad_group_report_tmp.sql", "original_file_path": "models/tmp/stg_pinterest_ads__ad_group_report_tmp.sql", "name": "stg_pinterest_ads__ad_group_report_tmp", "alias": "stg_pinterest_ads__ad_group_report_tmp", "checksum": {"name": "sha256", "checksum": "7302e33164e446b0631e0dda341de8949d3ead51adddb6ba93fbda32b00449e2"}, "tags": [], "refs": [], "sources": [["pinterest_ads", "ad_group_report"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/tmp/stg_pinterest_ads__ad_group_report_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "view"}, "created_at": 1658332384.819251, "compiled_sql": "select * \nfrom \"postgres\".\"pinterest_source_integration_tests\".\"ad_group_report_data\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__ad_group_report_tmp\""}, "model.pinterest_source.stg_pinterest_ads__keyword_history_tmp": {"raw_sql": "select * \nfrom {{ var('keyword_history') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.pinterest_source.pinterest_ads.keyword_history"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "tmp", "stg_pinterest_ads__keyword_history_tmp"], "unique_id": "model.pinterest_source.stg_pinterest_ads__keyword_history_tmp", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "tmp/stg_pinterest_ads__keyword_history_tmp.sql", "original_file_path": "models/tmp/stg_pinterest_ads__keyword_history_tmp.sql", "name": "stg_pinterest_ads__keyword_history_tmp", "alias": "stg_pinterest_ads__keyword_history_tmp", "checksum": {"name": "sha256", "checksum": "beb1849e58089e1dbb21b3eca90782b48e6de96d5df38693417b91488ac622b1"}, "tags": [], "refs": [], "sources": [["pinterest_ads", "keyword_history"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/tmp/stg_pinterest_ads__keyword_history_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "view"}, "created_at": 1658332384.821908, "compiled_sql": "select * \nfrom \"postgres\".\"pinterest_source_integration_tests\".\"keyword_history_data\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__keyword_history_tmp\""}, "model.pinterest_source.stg_pinterest_ads__campaign_history_tmp": {"raw_sql": "select *\nfrom {{ var('campaign_history') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.pinterest_source.pinterest_ads.campaign_history"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "tmp", "stg_pinterest_ads__campaign_history_tmp"], "unique_id": "model.pinterest_source.stg_pinterest_ads__campaign_history_tmp", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "tmp/stg_pinterest_ads__campaign_history_tmp.sql", "original_file_path": "models/tmp/stg_pinterest_ads__campaign_history_tmp.sql", "name": "stg_pinterest_ads__campaign_history_tmp", "alias": "stg_pinterest_ads__campaign_history_tmp", "checksum": {"name": "sha256", "checksum": "ea41c8d4ba83ff540a5f38f481cbd17406e99954f8b9b7b086ac94203a8dd6bd"}, "tags": [], "refs": [], "sources": [["pinterest_ads", "campaign_history"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/tmp/stg_pinterest_ads__campaign_history_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "view"}, "created_at": 1658332384.8245099, "compiled_sql": "select *\nfrom \"postgres\".\"pinterest_source_integration_tests\".\"campaign_history_data\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__campaign_history_tmp\""}, "model.pinterest_source.stg_pinterest_ads__ad_group_history_tmp": {"raw_sql": "select *\nfrom {{ var('ad_group_history') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.pinterest_source.pinterest_ads.ad_group_history"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "tmp", "stg_pinterest_ads__ad_group_history_tmp"], "unique_id": "model.pinterest_source.stg_pinterest_ads__ad_group_history_tmp", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "tmp/stg_pinterest_ads__ad_group_history_tmp.sql", "original_file_path": "models/tmp/stg_pinterest_ads__ad_group_history_tmp.sql", "name": "stg_pinterest_ads__ad_group_history_tmp", "alias": "stg_pinterest_ads__ad_group_history_tmp", "checksum": {"name": "sha256", "checksum": "23726e9b019c8268e9aaae828c6c1430685538bef615e52f2c17436dd3615dfa"}, "tags": [], "refs": [], "sources": [["pinterest_ads", "ad_group_history"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/tmp/stg_pinterest_ads__ad_group_history_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "view"}, "created_at": 1658332384.8277068, "compiled_sql": "select *\nfrom \"postgres\".\"pinterest_source_integration_tests\".\"ad_group_history_data\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__ad_group_history_tmp\""}, "model.pinterest_source.stg_pinterest_ads__pin_promotion_history_tmp": {"raw_sql": "select *\nfrom {{ var('pin_promotion_history') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.pinterest_source.pinterest_ads.pin_promotion_history"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "tmp", "stg_pinterest_ads__pin_promotion_history_tmp"], "unique_id": "model.pinterest_source.stg_pinterest_ads__pin_promotion_history_tmp", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "tmp/stg_pinterest_ads__pin_promotion_history_tmp.sql", "original_file_path": "models/tmp/stg_pinterest_ads__pin_promotion_history_tmp.sql", "name": "stg_pinterest_ads__pin_promotion_history_tmp", "alias": "stg_pinterest_ads__pin_promotion_history_tmp", "checksum": {"name": "sha256", "checksum": "065bd24ab667bb3742cf11e3d96295c4c78ecdc04bb4d86a8bfa521482c55e71"}, "tags": [], "refs": [], "sources": [["pinterest_ads", "pin_promotion_history"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/tmp/stg_pinterest_ads__pin_promotion_history_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "view"}, "created_at": 1658332384.830543, "compiled_sql": "select *\nfrom \"postgres\".\"pinterest_source_integration_tests\".\"pin_promotion_history_data\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__pin_promotion_history_tmp\""}, "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_history_ad_group_id.220c6220be": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "ad_group_id", "model": "{{ get_where_subquery(ref('stg_pinterest_ads__ad_group_history')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.pinterest_source.stg_pinterest_ads__ad_group_history"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "postgres", "schema": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "not_null_stg_pinterest_ads__ad_group_history_ad_group_id"], "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_history_ad_group_id.220c6220be", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "not_null_stg_pinterest_ads__ad_group_history_ad_group_id.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "not_null_stg_pinterest_ads__ad_group_history_ad_group_id", "alias": "not_null_stg_pinterest_ads__ad_group_history_ad_group_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__ad_group_history"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/not_null_stg_pinterest_ads__ad_group_history_ad_group_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1658332384.881182, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__ad_group_history\"\nwhere ad_group_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "ad_group_id", "file_key_name": "models.stg_pinterest_ads__ad_group_history"}, "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_history_ad_group_id___fivetran_synced.1132e1f339": {"raw_sql": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_14ec492421aa290adbd40aba9f38efa7\") }}", "test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["ad_group_id", "_fivetran_synced"], "model": "{{ get_where_subquery(ref('stg_pinterest_ads__ad_group_history')) }}"}, "namespace": "dbt_utils"}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.pinterest_source.stg_pinterest_ads__ad_group_history"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_14ec492421aa290adbd40aba9f38efa7", "schema": "dbt_test__audit", "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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_history_ad_group_id___fivetran_synced"], "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_history_ad_group_id___fivetran_synced.1132e1f339", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "dbt_utils_unique_combination_o_14ec492421aa290adbd40aba9f38efa7.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_history_ad_group_id___fivetran_synced", "alias": "dbt_utils_unique_combination_o_14ec492421aa290adbd40aba9f38efa7", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__ad_group_history"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/dbt_utils_unique_combination_o_14ec492421aa290adbd40aba9f38efa7.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_14ec492421aa290adbd40aba9f38efa7"}, "created_at": 1658332384.8825128, "compiled_sql": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n ad_group_id, _fivetran_synced\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__ad_group_history\"\n group by ad_group_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_pinterest_ads__ad_group_history"}, "test.pinterest_source.not_null_stg_pinterest_ads__campaign_history_campaign_id.60cb10d341": {"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_pinterest_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.pinterest_source.stg_pinterest_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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "not_null_stg_pinterest_ads__campaign_history_campaign_id"], "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__campaign_history_campaign_id.60cb10d341", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "not_null_stg_pinterest_ads__campaign_history_campaign_id.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "not_null_stg_pinterest_ads__campaign_history_campaign_id", "alias": "not_null_stg_pinterest_ads__campaign_history_campaign_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__campaign_history"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/not_null_stg_pinterest_ads__campaign_history_campaign_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1658332384.890048, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_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_pinterest_ads__campaign_history"}, "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_history_campaign_id___fivetran_synced.eff7196b87": {"raw_sql": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_0f71f27ed6b0ce2d4940b4361559871b\") }}", "test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["campaign_id", "_fivetran_synced"], "model": "{{ get_where_subquery(ref('stg_pinterest_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.pinterest_source.stg_pinterest_ads__campaign_history"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_0f71f27ed6b0ce2d4940b4361559871b", "schema": "dbt_test__audit", "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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_history_campaign_id___fivetran_synced"], "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_history_campaign_id___fivetran_synced.eff7196b87", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "dbt_utils_unique_combination_o_0f71f27ed6b0ce2d4940b4361559871b.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_history_campaign_id___fivetran_synced", "alias": "dbt_utils_unique_combination_o_0f71f27ed6b0ce2d4940b4361559871b", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__campaign_history"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/dbt_utils_unique_combination_o_0f71f27ed6b0ce2d4940b4361559871b.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_0f71f27ed6b0ce2d4940b4361559871b"}, "created_at": 1658332384.891156, "compiled_sql": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n campaign_id, _fivetran_synced\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__campaign_history\"\n group by campaign_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_pinterest_ads__campaign_history"}, "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_history_pin_promotion_id.171995cd34": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}{{ config(alias=\"not_null_stg_pinterest_ads__pi_5cf03dfc3d2615f9d68ae62d55aa2b8f\") }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "pin_promotion_id", "model": "{{ get_where_subquery(ref('stg_pinterest_ads__pin_promotion_history')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_history"]}, "config": {"enabled": true, "alias": "not_null_stg_pinterest_ads__pi_5cf03dfc3d2615f9d68ae62d55aa2b8f", "schema": "dbt_test__audit", "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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "not_null_stg_pinterest_ads__pin_promotion_history_pin_promotion_id"], "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_history_pin_promotion_id.171995cd34", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "not_null_stg_pinterest_ads__pi_5cf03dfc3d2615f9d68ae62d55aa2b8f.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "not_null_stg_pinterest_ads__pin_promotion_history_pin_promotion_id", "alias": "not_null_stg_pinterest_ads__pi_5cf03dfc3d2615f9d68ae62d55aa2b8f", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__pin_promotion_history"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/not_null_stg_pinterest_ads__pi_5cf03dfc3d2615f9d68ae62d55aa2b8f.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "not_null_stg_pinterest_ads__pi_5cf03dfc3d2615f9d68ae62d55aa2b8f"}, "created_at": 1658332384.8937101, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__pin_promotion_history\"\nwhere pin_promotion_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "pin_promotion_id", "file_key_name": "models.stg_pinterest_ads__pin_promotion_history"}, "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_history__fivetran_synced__pin_promotion_id.8e9ab31ea9": {"raw_sql": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_e0501de9c3316348957b42725bcba175\") }}", "test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["_fivetran_synced", "pin_promotion_id"], "model": "{{ get_where_subquery(ref('stg_pinterest_ads__pin_promotion_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.pinterest_source.stg_pinterest_ads__pin_promotion_history"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_e0501de9c3316348957b42725bcba175", "schema": "dbt_test__audit", "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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_history__fivetran_synced__pin_promotion_id"], "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_history__fivetran_synced__pin_promotion_id.8e9ab31ea9", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "dbt_utils_unique_combination_o_e0501de9c3316348957b42725bcba175.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_history__fivetran_synced__pin_promotion_id", "alias": "dbt_utils_unique_combination_o_e0501de9c3316348957b42725bcba175", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__pin_promotion_history"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/dbt_utils_unique_combination_o_e0501de9c3316348957b42725bcba175.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_e0501de9c3316348957b42725bcba175"}, "created_at": 1658332384.895236, "compiled_sql": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n _fivetran_synced, pin_promotion_id\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__pin_promotion_history\"\n group by _fivetran_synced, pin_promotion_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_pinterest_ads__pin_promotion_history"}, "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_report_date_day.ed272212a1": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "date_day", "model": "{{ get_where_subquery(ref('stg_pinterest_ads__pin_promotion_report')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "not_null_stg_pinterest_ads__pin_promotion_report_date_day"], "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_report_date_day.ed272212a1", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "not_null_stg_pinterest_ads__pin_promotion_report_date_day.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "not_null_stg_pinterest_ads__pin_promotion_report_date_day", "alias": "not_null_stg_pinterest_ads__pin_promotion_report_date_day", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__pin_promotion_report"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/not_null_stg_pinterest_ads__pin_promotion_report_date_day.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1658332384.897883, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__pin_promotion_report\"\nwhere date_day is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "date_day", "file_key_name": "models.stg_pinterest_ads__pin_promotion_report"}, "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_report_pin_promotion_id.9c3c9f71ab": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}{{ config(alias=\"not_null_stg_pinterest_ads__pi_d0985f4b7b2bc6d5ec7f384cc03d6f4b\") }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "pin_promotion_id", "model": "{{ get_where_subquery(ref('stg_pinterest_ads__pin_promotion_report')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_report"]}, "config": {"enabled": true, "alias": "not_null_stg_pinterest_ads__pi_d0985f4b7b2bc6d5ec7f384cc03d6f4b", "schema": "dbt_test__audit", "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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "not_null_stg_pinterest_ads__pin_promotion_report_pin_promotion_id"], "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_report_pin_promotion_id.9c3c9f71ab", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "not_null_stg_pinterest_ads__pi_d0985f4b7b2bc6d5ec7f384cc03d6f4b.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "not_null_stg_pinterest_ads__pin_promotion_report_pin_promotion_id", "alias": "not_null_stg_pinterest_ads__pi_d0985f4b7b2bc6d5ec7f384cc03d6f4b", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__pin_promotion_report"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/not_null_stg_pinterest_ads__pi_d0985f4b7b2bc6d5ec7f384cc03d6f4b.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "not_null_stg_pinterest_ads__pi_d0985f4b7b2bc6d5ec7f384cc03d6f4b"}, "created_at": 1658332384.898901, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__pin_promotion_report\"\nwhere pin_promotion_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "pin_promotion_id", "file_key_name": "models.stg_pinterest_ads__pin_promotion_report"}, "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_report_date_day__pin_promotion_id__ad_group_id__campaign_id__advertiser_id.7ea04e6024": {"raw_sql": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_b200b80456022485be650ebe0c64fc19\") }}", "test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["date_day", "pin_promotion_id", "ad_group_id", "campaign_id", "advertiser_id"], "model": "{{ get_where_subquery(ref('stg_pinterest_ads__pin_promotion_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.pinterest_source.stg_pinterest_ads__pin_promotion_report"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_b200b80456022485be650ebe0c64fc19", "schema": "dbt_test__audit", "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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_report_date_day__pin_promotion_id__ad_group_id__campaign_id__advertiser_id"], "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_report_date_day__pin_promotion_id__ad_group_id__campaign_id__advertiser_id.7ea04e6024", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "dbt_utils_unique_combination_o_b200b80456022485be650ebe0c64fc19.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_report_date_day__pin_promotion_id__ad_group_id__campaign_id__advertiser_id", "alias": "dbt_utils_unique_combination_o_b200b80456022485be650ebe0c64fc19", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__pin_promotion_report"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/dbt_utils_unique_combination_o_b200b80456022485be650ebe0c64fc19.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_b200b80456022485be650ebe0c64fc19"}, "created_at": 1658332384.899936, "compiled_sql": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n date_day, pin_promotion_id, ad_group_id, campaign_id, advertiser_id\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__pin_promotion_report\"\n group by date_day, pin_promotion_id, ad_group_id, campaign_id, advertiser_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_pinterest_ads__pin_promotion_report"}, "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_report_date_day.80e8904c4c": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "date_day", "model": "{{ get_where_subquery(ref('stg_pinterest_ads__ad_group_report')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.pinterest_source.stg_pinterest_ads__ad_group_report"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "postgres", "schema": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "not_null_stg_pinterest_ads__ad_group_report_date_day"], "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_report_date_day.80e8904c4c", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "not_null_stg_pinterest_ads__ad_group_report_date_day.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "not_null_stg_pinterest_ads__ad_group_report_date_day", "alias": "not_null_stg_pinterest_ads__ad_group_report_date_day", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__ad_group_report"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/not_null_stg_pinterest_ads__ad_group_report_date_day.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1658332384.902978, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__ad_group_report\"\nwhere date_day is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "date_day", "file_key_name": "models.stg_pinterest_ads__ad_group_report"}, "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_report_ad_group_id.bb8cf3c471": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "ad_group_id", "model": "{{ get_where_subquery(ref('stg_pinterest_ads__ad_group_report')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.pinterest_source.stg_pinterest_ads__ad_group_report"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "postgres", "schema": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "not_null_stg_pinterest_ads__ad_group_report_ad_group_id"], "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_report_ad_group_id.bb8cf3c471", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "not_null_stg_pinterest_ads__ad_group_report_ad_group_id.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "not_null_stg_pinterest_ads__ad_group_report_ad_group_id", "alias": "not_null_stg_pinterest_ads__ad_group_report_ad_group_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__ad_group_report"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/not_null_stg_pinterest_ads__ad_group_report_ad_group_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1658332384.9041018, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__ad_group_report\"\nwhere ad_group_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "ad_group_id", "file_key_name": "models.stg_pinterest_ads__ad_group_report"}, "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_report_date_day__ad_group_id__advertiser_id.692e15663e": {"raw_sql": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_ba19ed5f568fbf1774b58841af994821\") }}", "test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["date_day", "ad_group_id", "advertiser_id"], "model": "{{ get_where_subquery(ref('stg_pinterest_ads__ad_group_report')) }}"}, "namespace": "dbt_utils"}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.pinterest_source.stg_pinterest_ads__ad_group_report"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_ba19ed5f568fbf1774b58841af994821", "schema": "dbt_test__audit", "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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_report_date_day__ad_group_id__advertiser_id"], "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_report_date_day__ad_group_id__advertiser_id.692e15663e", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "dbt_utils_unique_combination_o_ba19ed5f568fbf1774b58841af994821.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_report_date_day__ad_group_id__advertiser_id", "alias": "dbt_utils_unique_combination_o_ba19ed5f568fbf1774b58841af994821", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__ad_group_report"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/dbt_utils_unique_combination_o_ba19ed5f568fbf1774b58841af994821.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_ba19ed5f568fbf1774b58841af994821"}, "created_at": 1658332384.905067, "compiled_sql": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n date_day, ad_group_id, advertiser_id\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__ad_group_report\"\n group by date_day, ad_group_id, advertiser_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_pinterest_ads__ad_group_report"}, "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_history_advertiser_id.7d24f665fb": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "advertiser_id", "model": "{{ get_where_subquery(ref('stg_pinterest_ads__advertiser_history')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.pinterest_source.stg_pinterest_ads__advertiser_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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "not_null_stg_pinterest_ads__advertiser_history_advertiser_id"], "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_history_advertiser_id.7d24f665fb", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "not_null_stg_pinterest_ads__advertiser_history_advertiser_id.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "not_null_stg_pinterest_ads__advertiser_history_advertiser_id", "alias": "not_null_stg_pinterest_ads__advertiser_history_advertiser_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__advertiser_history"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/not_null_stg_pinterest_ads__advertiser_history_advertiser_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1658332384.907798, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__advertiser_history\"\nwhere advertiser_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "advertiser_id", "file_key_name": "models.stg_pinterest_ads__advertiser_history"}, "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_history_updated_at__advertiser_id.94e8f4de4b": {"raw_sql": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_ac571a135eb9bbe6db1401c33b830733\") }}", "test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["updated_at", "advertiser_id"], "model": "{{ get_where_subquery(ref('stg_pinterest_ads__advertiser_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.pinterest_source.stg_pinterest_ads__advertiser_history"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_ac571a135eb9bbe6db1401c33b830733", "schema": "dbt_test__audit", "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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_history_updated_at__advertiser_id"], "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_history_updated_at__advertiser_id.94e8f4de4b", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "dbt_utils_unique_combination_o_ac571a135eb9bbe6db1401c33b830733.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_history_updated_at__advertiser_id", "alias": "dbt_utils_unique_combination_o_ac571a135eb9bbe6db1401c33b830733", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__advertiser_history"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/dbt_utils_unique_combination_o_ac571a135eb9bbe6db1401c33b830733.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_ac571a135eb9bbe6db1401c33b830733"}, "created_at": 1658332384.90884, "compiled_sql": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n updated_at, advertiser_id\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__advertiser_history\"\n group by updated_at, advertiser_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_pinterest_ads__advertiser_history"}, "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_report_date_day.153bd03c95": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "date_day", "model": "{{ get_where_subquery(ref('stg_pinterest_ads__advertiser_report')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.pinterest_source.stg_pinterest_ads__advertiser_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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "not_null_stg_pinterest_ads__advertiser_report_date_day"], "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_report_date_day.153bd03c95", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "not_null_stg_pinterest_ads__advertiser_report_date_day.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "not_null_stg_pinterest_ads__advertiser_report_date_day", "alias": "not_null_stg_pinterest_ads__advertiser_report_date_day", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__advertiser_report"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/not_null_stg_pinterest_ads__advertiser_report_date_day.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1658332384.9118998, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__advertiser_report\"\nwhere date_day is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "date_day", "file_key_name": "models.stg_pinterest_ads__advertiser_report"}, "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_report_advertiser_id.1b16ed73ff": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "advertiser_id", "model": "{{ get_where_subquery(ref('stg_pinterest_ads__advertiser_report')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.pinterest_source.stg_pinterest_ads__advertiser_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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "not_null_stg_pinterest_ads__advertiser_report_advertiser_id"], "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_report_advertiser_id.1b16ed73ff", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "not_null_stg_pinterest_ads__advertiser_report_advertiser_id.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "not_null_stg_pinterest_ads__advertiser_report_advertiser_id", "alias": "not_null_stg_pinterest_ads__advertiser_report_advertiser_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__advertiser_report"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/not_null_stg_pinterest_ads__advertiser_report_advertiser_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1658332384.912948, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__advertiser_report\"\nwhere advertiser_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "advertiser_id", "file_key_name": "models.stg_pinterest_ads__advertiser_report"}, "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_report_date_day__advertiser_id.e92ce8a9c0": {"raw_sql": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_7440d10d36ca9b555b1bb533d442c6de\") }}", "test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["date_day", "advertiser_id"], "model": "{{ get_where_subquery(ref('stg_pinterest_ads__advertiser_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.pinterest_source.stg_pinterest_ads__advertiser_report"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_7440d10d36ca9b555b1bb533d442c6de", "schema": "dbt_test__audit", "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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_report_date_day__advertiser_id"], "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_report_date_day__advertiser_id.e92ce8a9c0", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "dbt_utils_unique_combination_o_7440d10d36ca9b555b1bb533d442c6de.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_report_date_day__advertiser_id", "alias": "dbt_utils_unique_combination_o_7440d10d36ca9b555b1bb533d442c6de", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__advertiser_report"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/dbt_utils_unique_combination_o_7440d10d36ca9b555b1bb533d442c6de.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_7440d10d36ca9b555b1bb533d442c6de"}, "created_at": 1658332384.9141161, "compiled_sql": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n date_day, advertiser_id\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__advertiser_report\"\n group by date_day, advertiser_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_pinterest_ads__advertiser_report"}, "test.pinterest_source.not_null_stg_pinterest_ads__campaign_report_date_day.7ef5fb1238": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "date_day", "model": "{{ get_where_subquery(ref('stg_pinterest_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.pinterest_source.stg_pinterest_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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "not_null_stg_pinterest_ads__campaign_report_date_day"], "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__campaign_report_date_day.7ef5fb1238", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "not_null_stg_pinterest_ads__campaign_report_date_day.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "not_null_stg_pinterest_ads__campaign_report_date_day", "alias": "not_null_stg_pinterest_ads__campaign_report_date_day", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__campaign_report"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/not_null_stg_pinterest_ads__campaign_report_date_day.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1658332384.9167318, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__campaign_report\"\nwhere date_day is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "date_day", "file_key_name": "models.stg_pinterest_ads__campaign_report"}, "test.pinterest_source.not_null_stg_pinterest_ads__campaign_report_campaign_id.a287eba0fc": {"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_pinterest_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.pinterest_source.stg_pinterest_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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "not_null_stg_pinterest_ads__campaign_report_campaign_id"], "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__campaign_report_campaign_id.a287eba0fc", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "not_null_stg_pinterest_ads__campaign_report_campaign_id.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "not_null_stg_pinterest_ads__campaign_report_campaign_id", "alias": "not_null_stg_pinterest_ads__campaign_report_campaign_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__campaign_report"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/not_null_stg_pinterest_ads__campaign_report_campaign_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1658332384.91786, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__campaign_report\"\nwhere campaign_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "campaign_id", "file_key_name": "models.stg_pinterest_ads__campaign_report"}, "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_report_date_day__campaign_id__advertiser_id.ff47cb8abc": {"raw_sql": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_ea5276bb765474198ad51f22f75fccbf\") }}", "test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["date_day", "campaign_id", "advertiser_id"], "model": "{{ get_where_subquery(ref('stg_pinterest_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.pinterest_source.stg_pinterest_ads__campaign_report"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_ea5276bb765474198ad51f22f75fccbf", "schema": "dbt_test__audit", "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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_report_date_day__campaign_id__advertiser_id"], "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_report_date_day__campaign_id__advertiser_id.ff47cb8abc", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "dbt_utils_unique_combination_o_ea5276bb765474198ad51f22f75fccbf.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_report_date_day__campaign_id__advertiser_id", "alias": "dbt_utils_unique_combination_o_ea5276bb765474198ad51f22f75fccbf", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__campaign_report"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/dbt_utils_unique_combination_o_ea5276bb765474198ad51f22f75fccbf.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_ea5276bb765474198ad51f22f75fccbf"}, "created_at": 1658332384.918827, "compiled_sql": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n date_day, campaign_id, advertiser_id\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__campaign_report\"\n group by date_day, campaign_id, advertiser_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_pinterest_ads__campaign_report"}, "test.pinterest_source.not_null_stg_pinterest_ads__keyword_history_keyword_id.246889377a": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "keyword_id", "model": "{{ get_where_subquery(ref('stg_pinterest_ads__keyword_history')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.pinterest_source.stg_pinterest_ads__keyword_history"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "postgres", "schema": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "not_null_stg_pinterest_ads__keyword_history_keyword_id"], "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__keyword_history_keyword_id.246889377a", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "not_null_stg_pinterest_ads__keyword_history_keyword_id.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "not_null_stg_pinterest_ads__keyword_history_keyword_id", "alias": "not_null_stg_pinterest_ads__keyword_history_keyword_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__keyword_history"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/not_null_stg_pinterest_ads__keyword_history_keyword_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1658332384.9216168, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__keyword_history\"\nwhere keyword_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "keyword_id", "file_key_name": "models.stg_pinterest_ads__keyword_history"}, "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_history_keyword_id__ad_group_id___fivetran_synced.d122faa877": {"raw_sql": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_ed0c009a9ff1bbb46e1ea2a210b25628\") }}", "test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["keyword_id", "ad_group_id", "_fivetran_synced"], "model": "{{ get_where_subquery(ref('stg_pinterest_ads__keyword_history')) }}"}, "namespace": "dbt_utils"}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.pinterest_source.stg_pinterest_ads__keyword_history"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_ed0c009a9ff1bbb46e1ea2a210b25628", "schema": "dbt_test__audit", "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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_history_keyword_id__ad_group_id___fivetran_synced"], "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_history_keyword_id__ad_group_id___fivetran_synced.d122faa877", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "dbt_utils_unique_combination_o_ed0c009a9ff1bbb46e1ea2a210b25628.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_history_keyword_id__ad_group_id___fivetran_synced", "alias": "dbt_utils_unique_combination_o_ed0c009a9ff1bbb46e1ea2a210b25628", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__keyword_history"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/dbt_utils_unique_combination_o_ed0c009a9ff1bbb46e1ea2a210b25628.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_ed0c009a9ff1bbb46e1ea2a210b25628"}, "created_at": 1658332384.9225721, "compiled_sql": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n keyword_id, ad_group_id, _fivetran_synced\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__keyword_history\"\n group by keyword_id, ad_group_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_pinterest_ads__keyword_history"}, "test.pinterest_source.not_null_stg_pinterest_ads__keyword_report_date_day.9937216300": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "date_day", "model": "{{ get_where_subquery(ref('stg_pinterest_ads__keyword_report')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.pinterest_source.stg_pinterest_ads__keyword_report"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "postgres", "schema": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "not_null_stg_pinterest_ads__keyword_report_date_day"], "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__keyword_report_date_day.9937216300", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "not_null_stg_pinterest_ads__keyword_report_date_day.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "not_null_stg_pinterest_ads__keyword_report_date_day", "alias": "not_null_stg_pinterest_ads__keyword_report_date_day", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__keyword_report"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/not_null_stg_pinterest_ads__keyword_report_date_day.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1658332384.925296, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__keyword_report\"\nwhere date_day is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "date_day", "file_key_name": "models.stg_pinterest_ads__keyword_report"}, "test.pinterest_source.not_null_stg_pinterest_ads__keyword_report_keyword_id.5f00679c48": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "keyword_id", "model": "{{ get_where_subquery(ref('stg_pinterest_ads__keyword_report')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.pinterest_source.stg_pinterest_ads__keyword_report"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "postgres", "schema": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "not_null_stg_pinterest_ads__keyword_report_keyword_id"], "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__keyword_report_keyword_id.5f00679c48", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "not_null_stg_pinterest_ads__keyword_report_keyword_id.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "not_null_stg_pinterest_ads__keyword_report_keyword_id", "alias": "not_null_stg_pinterest_ads__keyword_report_keyword_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__keyword_report"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/not_null_stg_pinterest_ads__keyword_report_keyword_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1658332384.926462, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__keyword_report\"\nwhere keyword_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "keyword_id", "file_key_name": "models.stg_pinterest_ads__keyword_report"}, "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_report_date_day__keyword_id__ad_group_id__campaign_id__advertiser_id.3ac101cc13": {"raw_sql": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_9e2909bcbf42ab2426c3540a2e7a0bb7\") }}", "test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["date_day", "keyword_id", "ad_group_id", "campaign_id", "advertiser_id"], "model": "{{ get_where_subquery(ref('stg_pinterest_ads__keyword_report')) }}"}, "namespace": "dbt_utils"}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.pinterest_source.stg_pinterest_ads__keyword_report"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_9e2909bcbf42ab2426c3540a2e7a0bb7", "schema": "dbt_test__audit", "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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_report_date_day__keyword_id__ad_group_id__campaign_id__advertiser_id"], "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_report_date_day__keyword_id__ad_group_id__campaign_id__advertiser_id.3ac101cc13", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "dbt_utils_unique_combination_o_9e2909bcbf42ab2426c3540a2e7a0bb7.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_report_date_day__keyword_id__ad_group_id__campaign_id__advertiser_id", "alias": "dbt_utils_unique_combination_o_9e2909bcbf42ab2426c3540a2e7a0bb7", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__keyword_report"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/dbt_utils_unique_combination_o_9e2909bcbf42ab2426c3540a2e7a0bb7.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_9e2909bcbf42ab2426c3540a2e7a0bb7"}, "created_at": 1658332384.9274518, "compiled_sql": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n date_day, keyword_id, ad_group_id, campaign_id, advertiser_id\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__keyword_report\"\n group by date_day, keyword_id, ad_group_id, campaign_id, advertiser_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_pinterest_ads__keyword_report"}}, "sources": {"source.pinterest_source.pinterest_ads.pin_promotion_report": {"fqn": ["pinterest_source", "pinterest_ads", "pin_promotion_report"], "database": "postgres", "schema": "pinterest_source_integration_tests", "unique_id": "source.pinterest_source.pinterest_ads.pin_promotion_report", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "models/src_pinterest_ads.yml", "original_file_path": "models/src_pinterest_ads.yml", "name": "pin_promotion_report", "source_name": "pinterest_ads", "source_description": "", "loader": "Fivetran", "identifier": "pin_promotion_report_data", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 168, "period": "hour"}, "filter": null}, "external": null, "description": "Each record represents the daily performance of a Pinterest Pin promotion.", "columns": {"date": {"name": "date", "description": "The performance date of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "pin_promotion_id": {"name": "pin_promotion_id", "description": "The ID of the related Pin promotion.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_id": {"name": "ad_group_id", "description": "The ID of the related Ad group.", "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": []}, "advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impression_1": {"name": "impression_1", "description": "The number of paid pin impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impression_2": {"name": "impression_2", "description": "The number of earned pin impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clickthrough_1": {"name": "clickthrough_1", "description": "The number of paid pin clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clickthrough_2": {"name": "clickthrough_2", "description": "The number of earned outbound clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend_in_micro_dollar": {"name": "spend_in_micro_dollar", "description": "The amount of spend in micro dollars that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"pin_promotion_report_data\"", "created_at": 1658332384.955369}, "source.pinterest_source.pinterest_ads.pin_promotion_history": {"fqn": ["pinterest_source", "pinterest_ads", "pin_promotion_history"], "database": "postgres", "schema": "pinterest_source_integration_tests", "unique_id": "source.pinterest_source.pinterest_ads.pin_promotion_history", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "models/src_pinterest_ads.yml", "original_file_path": "models/src_pinterest_ads.yml", "name": "pin_promotion_history", "source_name": "pinterest_ads", "source_description": "", "loader": "Fivetran", "identifier": "pin_promotion_history_data", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 168, "period": "hour"}, "filter": null}, "external": null, "description": "Each record represents a version of a Pinterest Pin promotion.", "columns": {"id": {"name": "id", "description": "The ID of the related Pin promotion.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_id": {"name": "ad_group_id", "description": "The ID of the related Ad group.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "created_time": {"name": "created_time", "description": "Pin creation time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "destination_url": {"name": "destination_url", "description": "Pin destination URL.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Pin promotion name.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "pin_id": {"name": "pin_id", "description": "Original pin ID.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status": {"name": "status", "description": "The status of the Pin promotion. One of \"ACTIVE\", \"ARCHIVED\", \"PAUSED\"", "meta": {}, "data_type": null, "quote": null, "tags": []}, "creative_type": {"name": "creative_type", "description": "The creative type. \nOne of \"APP\", \"APP_VIDEO\", \"BOARD\", \"CAROUSEL\", \"CINEMATIC\", \"COMMERCE\", \"MAX_VIDEO\", \"NATIVE_VIDEO\", \"REGULAR\", \n\"SEARCH_PROMINENCE\", \"SEARCH_PROMINENCE_CAROUSEL\", \"SHOPPING\", \"SHOP_THE_PIN\", \"THIRD_PARTY\", or \"VIDEO\".\n", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"pin_promotion_history_data\"", "created_at": 1658332384.9554718}, "source.pinterest_source.pinterest_ads.campaign_history": {"fqn": ["pinterest_source", "pinterest_ads", "campaign_history"], "database": "postgres", "schema": "pinterest_source_integration_tests", "unique_id": "source.pinterest_source.pinterest_ads.campaign_history", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "models/src_pinterest_ads.yml", "original_file_path": "models/src_pinterest_ads.yml", "name": "campaign_history", "source_name": "pinterest_ads", "source_description": "", "loader": "Fivetran", "identifier": "campaign_history_data", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 168, "period": "hour"}, "filter": null}, "external": null, "description": "Each record represents a version of a Pinterest Campaign.", "columns": {"id": {"name": "id", "description": "The ID of the related Campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "created_time": {"name": "created_time", "description": "Campaign creation time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Campaign name.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status": {"name": "status", "description": "The status of the Campaign. One of \"ACTIVE\", \"ARCHIVED\", \"PAUSED\"", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"campaign_history_data\"", "created_at": 1658332384.95554}, "source.pinterest_source.pinterest_ads.ad_group_history": {"fqn": ["pinterest_source", "pinterest_ads", "ad_group_history"], "database": "postgres", "schema": "pinterest_source_integration_tests", "unique_id": "source.pinterest_source.pinterest_ads.ad_group_history", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "models/src_pinterest_ads.yml", "original_file_path": "models/src_pinterest_ads.yml", "name": "ad_group_history", "source_name": "pinterest_ads", "source_description": "", "loader": "Fivetran", "identifier": "ad_group_history_data", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 168, "period": "hour"}, "filter": null}, "external": null, "description": "Each record represents a version of a Pinterest Ad Group.", "columns": {"id": {"name": "id", "description": "The ID of the related Ad group.", "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": []}, "created_time": {"name": "created_time", "description": "Ad group creation time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Ad group name.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status": {"name": "status", "description": "The status of the Ad group. One of \"ACTIVE\", \"ARCHIVED\", \"PAUSED\"", "meta": {}, "data_type": null, "quote": null, "tags": []}, "start_time": {"name": "start_time", "description": "Ad group start time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "end_time": {"name": "end_time", "description": "Ad group end time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"ad_group_history_data\"", "created_at": 1658332384.955611}, "source.pinterest_source.pinterest_ads.ad_group_report": {"fqn": ["pinterest_source", "pinterest_ads", "ad_group_report"], "database": "postgres", "schema": "pinterest_source_integration_tests", "unique_id": "source.pinterest_source.pinterest_ads.ad_group_report", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "models/src_pinterest_ads.yml", "original_file_path": "models/src_pinterest_ads.yml", "name": "ad_group_report", "source_name": "pinterest_ads", "source_description": "", "loader": "Fivetran", "identifier": "ad_group_report_data", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 168, "period": "hour"}, "filter": null}, "external": null, "description": "Each record represents the daily performance of a Pinterest ad group.", "columns": {"date": {"name": "date", "description": "The performance date of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_id": {"name": "ad_group_id", "description": "The ID of the related Ad group.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_name": {"name": "ad_group_name", "description": "Name of the ad group.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_status": {"name": "ad_group_status", "description": "Status of the ad group.", "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": []}, "advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impression_1": {"name": "impression_1", "description": "The number of paid pin impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impression_2": {"name": "impression_2", "description": "The number of earned pin impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clickthrough_1": {"name": "clickthrough_1", "description": "The number of paid pin clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clickthrough_2": {"name": "clickthrough_2", "description": "The number of earned outbound clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend_in_micro_dollar": {"name": "spend_in_micro_dollar", "description": "The amount of spend in micro dollars that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"ad_group_report_data\"", "created_at": 1658332384.955681}, "source.pinterest_source.pinterest_ads.advertiser_history": {"fqn": ["pinterest_source", "pinterest_ads", "advertiser_history"], "database": "postgres", "schema": "pinterest_source_integration_tests", "unique_id": "source.pinterest_source.pinterest_ads.advertiser_history", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "models/src_pinterest_ads.yml", "original_file_path": "models/src_pinterest_ads.yml", "name": "advertiser_history", "source_name": "pinterest_ads", "source_description": "", "loader": "Fivetran", "identifier": "advertiser_history_data", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 168, "period": "hour"}, "filter": null}, "external": null, "description": "Each record represents a version of a Pinterest advertiser.", "columns": {"id": {"name": "id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Name of the advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status": {"name": "status", "description": "Status of the advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "billing_profile_status": {"name": "billing_profile_status", "description": "Status of the billing profile.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "billing_type": {"name": "billing_type", "description": "The billing type of the advertiser. Will typically be CREDIT_CARD or INVOICE.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "country": {"name": "country", "description": "The country code where the advertiser is located.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "created_time": {"name": "created_time", "description": "Timestamp of when a record was created.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "currency": {"name": "currency", "description": "The currency code which the a", "meta": {}, "data_type": null, "quote": null, "tags": []}, "merchant_id": {"name": "merchant_id", "description": "Unique ID of the merchant associated with the advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "owner_user_id": {"name": "owner_user_id", "description": "Unique identifier of the owner user.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "updated_time": {"name": "updated_time", "description": "Timestamp of when a record was last updated.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"advertiser_history_data\"", "created_at": 1658332384.95575}, "source.pinterest_source.pinterest_ads.advertiser_report": {"fqn": ["pinterest_source", "pinterest_ads", "advertiser_report"], "database": "postgres", "schema": "pinterest_source_integration_tests", "unique_id": "source.pinterest_source.pinterest_ads.advertiser_report", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "models/src_pinterest_ads.yml", "original_file_path": "models/src_pinterest_ads.yml", "name": "advertiser_report", "source_name": "pinterest_ads", "source_description": "", "loader": "Fivetran", "identifier": "advertiser_report_data", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 168, "period": "hour"}, "filter": null}, "external": null, "description": "Each record represents the daily performance of a Pinterest advertiser.", "columns": {"date": {"name": "date", "description": "The performance date of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impression_1": {"name": "impression_1", "description": "The number of paid pin impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impression_2": {"name": "impression_2", "description": "The number of earned pin impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clickthrough_1": {"name": "clickthrough_1", "description": "The number of paid pin clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clickthrough_2": {"name": "clickthrough_2", "description": "The number of earned outbound clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend_in_micro_dollar": {"name": "spend_in_micro_dollar", "description": "The amount of spend in micro dollars that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"advertiser_report_data\"", "created_at": 1658332384.955818}, "source.pinterest_source.pinterest_ads.campaign_report": {"fqn": ["pinterest_source", "pinterest_ads", "campaign_report"], "database": "postgres", "schema": "pinterest_source_integration_tests", "unique_id": "source.pinterest_source.pinterest_ads.campaign_report", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "models/src_pinterest_ads.yml", "original_file_path": "models/src_pinterest_ads.yml", "name": "campaign_report", "source_name": "pinterest_ads", "source_description": "", "loader": "Fivetran", "identifier": "campaign_report_data", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 168, "period": "hour"}, "filter": null}, "external": null, "description": "Each record represents the daily performance of a Pinterest campaign.", "columns": {"date": {"name": "date", "description": "The performance date of the record.", "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": "Name of the campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_status": {"name": "campaign_status", "description": "Status of the campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impression_1": {"name": "impression_1", "description": "The number of paid pin impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impression_2": {"name": "impression_2", "description": "The number of earned pin impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clickthrough_1": {"name": "clickthrough_1", "description": "The number of paid pin clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clickthrough_2": {"name": "clickthrough_2", "description": "The number of earned outbound clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend_in_micro_dollar": {"name": "spend_in_micro_dollar", "description": "The amount of spend in micro dollars that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"campaign_report_data\"", "created_at": 1658332384.955888}, "source.pinterest_source.pinterest_ads.keyword_history": {"fqn": ["pinterest_source", "pinterest_ads", "keyword_history"], "database": "postgres", "schema": "pinterest_source_integration_tests", "unique_id": "source.pinterest_source.pinterest_ads.keyword_history", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "models/src_pinterest_ads.yml", "original_file_path": "models/src_pinterest_ads.yml", "name": "keyword_history", "source_name": "pinterest_ads", "source_description": "", "loader": "Fivetran", "identifier": "keyword_history_data", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 168, "period": "hour"}, "filter": null}, "external": null, "description": "Each record represents a version of a Pinterest keyword.", "columns": {"id": {"name": "id", "description": "Unique identifier of the keyword.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "value": {"name": "value", "description": "The text value that makes upd the keyword.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_id": {"name": "_fivetran_id", "description": "The unique identifier of the record within the Fivetran synced table.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_id": {"name": "ad_group_id", "description": "The ID of the related Ad group.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "archived": {"name": "archived", "description": "Boolean indicating if the keyword is archived.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "bid": {"name": "bid", "description": "Bid amount set for the keyword.", "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": []}, "match_type": {"name": "match_type", "description": "Type of match the keyword is tied to. Either Exact or Broad.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "parent_type": {"name": "parent_type", "description": "Identifier of what grain the parent type is. Ad group or campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"keyword_history_data\"", "created_at": 1658332384.9559848}, "source.pinterest_source.pinterest_ads.keyword_report": {"fqn": ["pinterest_source", "pinterest_ads", "keyword_report"], "database": "postgres", "schema": "pinterest_source_integration_tests", "unique_id": "source.pinterest_source.pinterest_ads.keyword_report", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "models/src_pinterest_ads.yml", "original_file_path": "models/src_pinterest_ads.yml", "name": "keyword_report", "source_name": "pinterest_ads", "source_description": "", "loader": "Fivetran", "identifier": "keyword_report_data", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 168, "period": "hour"}, "filter": null}, "external": null, "description": "Each record represents the daily performance of a Pinterest key word.", "columns": {"date": {"name": "date", "description": "The performance date of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "keyword_id": {"name": "keyword_id", "description": "Unique identifier of the keyword.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "pin_promotion_id": {"name": "pin_promotion_id", "description": "The ID of the related Pin promotion.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_id": {"name": "ad_group_id", "description": "The ID of the related Ad group.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_name": {"name": "ad_group_name", "description": "Name of the ad group.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_status": {"name": "ad_group_status", "description": "Status of the ad group.", "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": []}, "advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impression_1": {"name": "impression_1", "description": "The number of paid pin impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impression_2": {"name": "impression_2", "description": "The number of earned pin impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clickthrough_1": {"name": "clickthrough_1", "description": "The number of paid pin clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clickthrough_2": {"name": "clickthrough_2", "description": "The number of earned outbound clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend_in_micro_dollar": {"name": "spend_in_micro_dollar", "description": "The amount of spend in micro dollars that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"keyword_report_data\"", "created_at": 1658332384.956056}}, "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": 1658332384.1347651}, "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": 1658332384.135552}, "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": 1658332384.140897}, "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": 1658332384.141411}, "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": 1658332384.141759}, "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": 1658332384.142102}, "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": 1658332384.1426072}, "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": 1658332384.1430132}, "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": 1658332384.143189}, "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": 1658332384.1435351}, "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": 1658332384.1439328}, "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": 1658332384.14401}, "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": 1658332384.144199}, "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": 1658332384.144307}, "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": 1658332384.14527}, "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": 1658332384.145715}, "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": 1658332384.145943}, "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": 1658332384.146552}, "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": 1658332384.147398}, "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": 1658332384.1485162}, "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": 1658332384.148714}, "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": 1658332384.148853}, "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": 1658332384.148992}, "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": 1658332384.1491299}, "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": 1658332384.1495528}, "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": 1658332384.149858}, "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": 1658332384.150156}, "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": 1658332384.150663}, "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": 1658332384.150929}, "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": 1658332384.1541572}, "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": 1658332384.154332}, "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": 1658332384.154551}, "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": 1658332384.1546922}, "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": 1658332384.154785}, "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": 1658332384.1555789}, "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": 1658332384.155751}, "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": 1658332384.1559198}, "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": 1658332384.156914}, "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": 1658332384.158766}, "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": 1658332384.161862}, "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": 1658332384.162144}, "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": 1658332384.1623108}, "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": 1658332384.1623948}, "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": 1658332384.1625972}, "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": 1658332384.163466}, "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": 1658332384.163659}, "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": 1658332384.1639092}, "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": 1658332384.1643379}, "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": 1658332384.170159}, "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": 1658332384.1723342}, "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": 1658332384.1728919}, "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": 1658332384.1732118}, "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": 1658332384.1736598}, "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": 1658332384.174043}, "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": 1658332384.174912}, "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": 1658332384.1754618}, "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": 1658332384.176072}, "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": 1658332384.178794}, "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": 1658332384.1799319}, "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": 1658332384.180165}, "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": 1658332384.180583}, "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": 1658332384.180843}, "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": 1658332384.181473}, "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": 1658332384.182184}, "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": 1658332384.1870341}, "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": 1658332384.191672}, "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": 1658332384.192893}, "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": 1658332384.194091}, "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": 1658332384.1948109}, "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": 1658332384.198457}, "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": 1658332384.1989381}, "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": 1658332384.199127}, "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": 1658332384.199324}, "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": 1658332384.19973}, "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": 1658332384.203212}, "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": 1658332384.203569}, "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": 1658332384.203785}, "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": 1658332384.205012}, "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": 1658332384.20542}, "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": 1658332384.205581}, "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": 1658332384.205763}, "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": 1658332384.206018}, "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": 1658332384.208778}, "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": 1658332384.212611}, "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": 1658332384.213492}, "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": 1658332384.2137222}, "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": 1658332384.214199}, "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": 1658332384.2143402}, "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": 1658332384.214457}, "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": 1658332384.214614}, "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": 1658332384.214729}, "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": 1658332384.21521}, "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": 1658332384.2154539}, "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": 1658332384.216647}, "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": 1658332384.2171001}, "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": 1658332384.2173219}, "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": 1658332384.217886}, "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": 1658332384.218144}, "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": 1658332384.218424}, "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": 1658332384.21887}, "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": 1658332384.2191172}, "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": 1658332384.219519}, "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": 1658332384.219754}, "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": 1658332384.220056}, "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": 1658332384.220662}, "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": 1658332384.2217898}, "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": 1658332384.222357}, "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": 1658332384.222653}, "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": 1658332384.2243562}, "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": 1658332384.2256582}, "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": 1658332384.226419}, "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": 1658332384.2266612}, "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": 1658332384.227134}, "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": 1658332384.2273211}, "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": 1658332384.227489}, "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": 1658332384.227666}, "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": 1658332384.228182}, "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": 1658332384.2283158}, "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": 1658332384.22847}, "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": 1658332384.228865}, "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": 1658332384.230431}, "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": 1658332384.2307358}, "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": 1658332384.230921}, "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": 1658332384.2311308}, "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": 1658332384.231306}, "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": 1658332384.231463}, "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": 1658332384.2316658}, "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": 1658332384.23194}, "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": 1658332384.2321851}, "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": 1658332384.232875}, "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": 1658332384.233103}, "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": 1658332384.233292}, "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": 1658332384.233804}, "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": 1658332384.233946}, "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": 1658332384.2341702}, "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": 1658332384.234588}, "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": 1658332384.2352839}, "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": 1658332384.2354481}, "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": 1658332384.2356448}, "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": 1658332384.235805}, "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": 1658332384.2360692}, "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": 1658332384.236542}, "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": 1658332384.237931}, "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": 1658332384.238188}, "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": 1658332384.238372}, "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": 1658332384.238529}, "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": 1658332384.2387378}, "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": 1658332384.238992}, "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": 1658332384.239209}, "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": 1658332384.239664}, "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": 1658332384.239886}, "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": 1658332384.240061}, "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": 1658332384.241837}, "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": 1658332384.242002}, "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": 1658332384.242323}, "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": 1658332384.242511}, "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": 1658332384.242848}, "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": 1658332384.24308}, "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": 1658332384.2436962}, "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": 1658332384.243954}, "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": 1658332384.244763}, "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": 1658332384.245379}, "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": 1658332384.245609}, "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": 1658332384.245892}, "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": 1658332384.246173}, "macro.dbt_utils.except": {"unique_id": "macro.dbt_utils.except", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.246502}, "macro.dbt_utils.default__except": {"unique_id": "macro.dbt_utils.default__except", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.246578}, "macro.dbt_utils.bigquery__except": {"unique_id": "macro.dbt_utils.bigquery__except", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.246645}, "macro.dbt_utils.replace": {"unique_id": "macro.dbt_utils.replace", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.247061}, "macro.dbt_utils.default__replace": {"unique_id": "macro.dbt_utils.default__replace", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.247236}, "macro.dbt_utils.concat": {"unique_id": "macro.dbt_utils.concat", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.247551}, "macro.dbt_utils.default__concat": {"unique_id": "macro.dbt_utils.default__concat", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.247757}, "macro.dbt_utils.type_string": {"unique_id": "macro.dbt_utils.type_string", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.2484758}, "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/pinterest/dbt_pinterest_source/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": 1658332384.2485561}, "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/pinterest/dbt_pinterest_source/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": 1658332384.248632}, "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/pinterest/dbt_pinterest_source/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": 1658332384.248706}, "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/pinterest/dbt_pinterest_source/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": 1658332384.248776}, "macro.dbt_utils.type_timestamp": {"unique_id": "macro.dbt_utils.type_timestamp", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.248939}, "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/pinterest/dbt_pinterest_source/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": 1658332384.249012}, "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/pinterest/dbt_pinterest_source/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": 1658332384.249086}, "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/pinterest/dbt_pinterest_source/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": 1658332384.249155}, "macro.dbt_utils.type_float": {"unique_id": "macro.dbt_utils.type_float", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.24932}, "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/pinterest/dbt_pinterest_source/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": 1658332384.249391}, "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/pinterest/dbt_pinterest_source/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": 1658332384.24946}, "macro.dbt_utils.type_numeric": {"unique_id": "macro.dbt_utils.type_numeric", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.249621}, "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/pinterest/dbt_pinterest_source/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": 1658332384.249692}, "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/pinterest/dbt_pinterest_source/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": 1658332384.249762}, "macro.dbt_utils.type_bigint": {"unique_id": "macro.dbt_utils.type_bigint", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.249922}, "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/pinterest/dbt_pinterest_source/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": 1658332384.249994}, "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/pinterest/dbt_pinterest_source/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": 1658332384.25007}, "macro.dbt_utils.type_int": {"unique_id": "macro.dbt_utils.type_int", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.250289}, "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/pinterest/dbt_pinterest_source/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": 1658332384.2503629}, "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/pinterest/dbt_pinterest_source/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": 1658332384.250432}, "macro.dbt_utils._is_relation": {"unique_id": "macro.dbt_utils._is_relation", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.250966}, "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/pinterest/dbt_pinterest_source/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": 1658332384.251431}, "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/pinterest/dbt_pinterest_source/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": 1658332384.251576}, "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/pinterest/dbt_pinterest_source/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": 1658332384.251884}, "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/pinterest/dbt_pinterest_source/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": 1658332384.252023}, "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/pinterest/dbt_pinterest_source/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": 1658332384.252125}, "macro.dbt_utils.length": {"unique_id": "macro.dbt_utils.length", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.252515}, "macro.dbt_utils.default__length": {"unique_id": "macro.dbt_utils.default__length", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.252623}, "macro.dbt_utils.redshift__length": {"unique_id": "macro.dbt_utils.redshift__length", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.252725}, "macro.dbt_utils.dateadd": {"unique_id": "macro.dbt_utils.dateadd", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.253345}, "macro.dbt_utils.default__dateadd": {"unique_id": "macro.dbt_utils.default__dateadd", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.25351}, "macro.dbt_utils.bigquery__dateadd": {"unique_id": "macro.dbt_utils.bigquery__dateadd", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.253671}, "macro.dbt_utils.postgres__dateadd": {"unique_id": "macro.dbt_utils.postgres__dateadd", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.253833}, "macro.dbt_utils.redshift__dateadd": {"unique_id": "macro.dbt_utils.redshift__dateadd", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.254024}, "macro.dbt_utils.intersect": {"unique_id": "macro.dbt_utils.intersect", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.25436}, "macro.dbt_utils.default__intersect": {"unique_id": "macro.dbt_utils.default__intersect", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.254432}, "macro.dbt_utils.bigquery__intersect": {"unique_id": "macro.dbt_utils.bigquery__intersect", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.2545002}, "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/pinterest/dbt_pinterest_source/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": 1658332384.2548878}, "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/pinterest/dbt_pinterest_source/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": 1658332384.2550259}, "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/pinterest/dbt_pinterest_source/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": 1658332384.255232}, "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/pinterest/dbt_pinterest_source/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": 1658332384.2553642}, "macro.dbt_utils.right": {"unique_id": "macro.dbt_utils.right", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.255944}, "macro.dbt_utils.default__right": {"unique_id": "macro.dbt_utils.default__right", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.256074}, "macro.dbt_utils.bigquery__right": {"unique_id": "macro.dbt_utils.bigquery__right", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.256232}, "macro.dbt_utils.snowflake__right": {"unique_id": "macro.dbt_utils.snowflake__right", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.256384}, "macro.dbt_utils.listagg": {"unique_id": "macro.dbt_utils.listagg", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.258562}, "macro.dbt_utils.default__listagg": {"unique_id": "macro.dbt_utils.default__listagg", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.2589598}, "macro.dbt_utils.bigquery__listagg": {"unique_id": "macro.dbt_utils.bigquery__listagg", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.259232}, "macro.dbt_utils.postgres__listagg": {"unique_id": "macro.dbt_utils.postgres__listagg", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.259611}, "macro.dbt_utils.redshift__listagg": {"unique_id": "macro.dbt_utils.redshift__listagg", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.260542}, "macro.dbt_utils.datediff": {"unique_id": "macro.dbt_utils.datediff", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.263057}, "macro.dbt_utils.default__datediff": {"unique_id": "macro.dbt_utils.default__datediff", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.263236}, "macro.dbt_utils.bigquery__datediff": {"unique_id": "macro.dbt_utils.bigquery__datediff", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.2634041}, "macro.dbt_utils.postgres__datediff": {"unique_id": "macro.dbt_utils.postgres__datediff", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.2652721}, "macro.dbt_utils.redshift__datediff": {"unique_id": "macro.dbt_utils.redshift__datediff", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.265491}, "macro.dbt_utils.safe_cast": {"unique_id": "macro.dbt_utils.safe_cast", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.266017}, "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/pinterest/dbt_pinterest_source/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": 1658332384.26617}, "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/pinterest/dbt_pinterest_source/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": 1658332384.266301}, "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/pinterest/dbt_pinterest_source/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": 1658332384.266432}, "macro.dbt_utils.hash": {"unique_id": "macro.dbt_utils.hash", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.266811}, "macro.dbt_utils.default__hash": {"unique_id": "macro.dbt_utils.default__hash", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.2669508}, "macro.dbt_utils.bigquery__hash": {"unique_id": "macro.dbt_utils.bigquery__hash", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.2670841}, "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/pinterest/dbt_pinterest_source/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": 1658332384.267475}, "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/pinterest/dbt_pinterest_source/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": 1658332384.267752}, "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/pinterest/dbt_pinterest_source/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": 1658332384.267918}, "macro.dbt_utils.identifier": {"unique_id": "macro.dbt_utils.identifier", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.2685702}, "macro.dbt_utils.default__identifier": {"unique_id": "macro.dbt_utils.default__identifier", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.268681}, "macro.dbt_utils.bigquery__identifier": {"unique_id": "macro.dbt_utils.bigquery__identifier", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.268781}, "macro.dbt_utils.any_value": {"unique_id": "macro.dbt_utils.any_value", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.269172}, "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/pinterest/dbt_pinterest_source/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": 1658332384.269283}, "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/pinterest/dbt_pinterest_source/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": 1658332384.269394}, "macro.dbt_utils.position": {"unique_id": "macro.dbt_utils.position", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.269826}, "macro.dbt_utils.default__position": {"unique_id": "macro.dbt_utils.default__position", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.269969}, "macro.dbt_utils.bigquery__position": {"unique_id": "macro.dbt_utils.bigquery__position", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.270102}, "macro.dbt_utils.string_literal": {"unique_id": "macro.dbt_utils.string_literal", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.2704918}, "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/pinterest/dbt_pinterest_source/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": 1658332384.2705972}, "macro.dbt_utils.current_timestamp": {"unique_id": "macro.dbt_utils.current_timestamp", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.271175}, "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/pinterest/dbt_pinterest_source/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": 1658332384.271285}, "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/pinterest/dbt_pinterest_source/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": 1658332384.2713568}, "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/pinterest/dbt_pinterest_source/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": 1658332384.271424}, "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/pinterest/dbt_pinterest_source/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": 1658332384.271582}, "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/pinterest/dbt_pinterest_source/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": 1658332384.271689}, "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/pinterest/dbt_pinterest_source/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": 1658332384.2718332}, "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/pinterest/dbt_pinterest_source/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": 1658332384.271939}, "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/pinterest/dbt_pinterest_source/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": 1658332384.272067}, "macro.dbt_utils.width_bucket": {"unique_id": "macro.dbt_utils.width_bucket", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.2734752}, "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/pinterest/dbt_pinterest_source/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": 1658332384.2739332}, "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/pinterest/dbt_pinterest_source/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": 1658332384.2743921}, "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/pinterest/dbt_pinterest_source/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": 1658332384.27458}, "macro.dbt_utils.array_concat": {"unique_id": "macro.dbt_utils.array_concat", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.275022}, "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/pinterest/dbt_pinterest_source/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": 1658332384.275151}, "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/pinterest/dbt_pinterest_source/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": 1658332384.275274}, "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/pinterest/dbt_pinterest_source/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": 1658332384.275396}, "macro.dbt_utils.bool_or": {"unique_id": "macro.dbt_utils.bool_or", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.2757802}, "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/pinterest/dbt_pinterest_source/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": 1658332384.2758882}, "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/pinterest/dbt_pinterest_source/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": 1658332384.276049}, "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/pinterest/dbt_pinterest_source/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": 1658332384.276147}, "macro.dbt_utils.last_day": {"unique_id": "macro.dbt_utils.last_day", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.276741}, "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/pinterest/dbt_pinterest_source/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": 1658332384.277009}, "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/pinterest/dbt_pinterest_source/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": 1658332384.277157}, "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/pinterest/dbt_pinterest_source/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": 1658332384.277579}, "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/pinterest/dbt_pinterest_source/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": 1658332384.277868}, "macro.dbt_utils.split_part": {"unique_id": "macro.dbt_utils.split_part", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.2794628}, "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/pinterest/dbt_pinterest_source/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": 1658332384.2796428}, "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/pinterest/dbt_pinterest_source/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": 1658332384.27988}, "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/pinterest/dbt_pinterest_source/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": 1658332384.28024}, "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/pinterest/dbt_pinterest_source/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": 1658332384.280579}, "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/pinterest/dbt_pinterest_source/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": 1658332384.280939}, "macro.dbt_utils.date_trunc": {"unique_id": "macro.dbt_utils.date_trunc", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.281365}, "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/pinterest/dbt_pinterest_source/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": 1658332384.2815008}, "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/pinterest/dbt_pinterest_source/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": 1658332384.281628}, "macro.dbt_utils.array_construct": {"unique_id": "macro.dbt_utils.array_construct", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.282207}, "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/pinterest/dbt_pinterest_source/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": 1658332384.28245}, "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/pinterest/dbt_pinterest_source/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": 1658332384.282589}, "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/pinterest/dbt_pinterest_source/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": 1658332384.2827232}, "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/pinterest/dbt_pinterest_source/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": 1658332384.2828631}, "macro.dbt_utils._is_ephemeral": {"unique_id": "macro.dbt_utils._is_ephemeral", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.2839081}, "macro.dbt_utils.array_append": {"unique_id": "macro.dbt_utils.array_append", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.284338}, "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/pinterest/dbt_pinterest_source/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": 1658332384.28447}, "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/pinterest/dbt_pinterest_source/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": 1658332384.2846599}, "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/pinterest/dbt_pinterest_source/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": 1658332384.284846}, "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/pinterest/dbt_pinterest_source/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": 1658332384.290368}, "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/pinterest/dbt_pinterest_source/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": 1658332384.290891}, "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/pinterest/dbt_pinterest_source/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": 1658332384.2912152}, "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/pinterest/dbt_pinterest_source/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": 1658332384.291708}, "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/pinterest/dbt_pinterest_source/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": 1658332384.296906}, "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/pinterest/dbt_pinterest_source/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": 1658332384.297407}, "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/pinterest/dbt_pinterest_source/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": 1658332384.2979069}, "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/pinterest/dbt_pinterest_source/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": 1658332384.2984488}, "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/pinterest/dbt_pinterest_source/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": 1658332384.2991009}, "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/pinterest/dbt_pinterest_source/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": 1658332384.299482}, "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/pinterest/dbt_pinterest_source/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": 1658332384.299862}, "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/pinterest/dbt_pinterest_source/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": 1658332384.300548}, "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/pinterest/dbt_pinterest_source/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": 1658332384.3008041}, "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/pinterest/dbt_pinterest_source/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": 1658332384.3013551}, "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/pinterest/dbt_pinterest_source/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": 1658332384.301683}, "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/pinterest/dbt_pinterest_source/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": 1658332384.3024461}, "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/pinterest/dbt_pinterest_source/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": 1658332384.3028102}, "macro.dbt_utils.test_recency": {"unique_id": "macro.dbt_utils.test_recency", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.30334}, "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/pinterest/dbt_pinterest_source/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": 1658332384.303692}, "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/pinterest/dbt_pinterest_source/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": 1658332384.304103}, "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/pinterest/dbt_pinterest_source/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": 1658332384.304279}, "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/pinterest/dbt_pinterest_source/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": 1658332384.3049521}, "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/pinterest/dbt_pinterest_source/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": 1658332384.305501}, "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/pinterest/dbt_pinterest_source/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": 1658332384.3060968}, "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/pinterest/dbt_pinterest_source/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": 1658332384.3064709}, "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/pinterest/dbt_pinterest_source/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": 1658332384.3069499}, "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/pinterest/dbt_pinterest_source/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": 1658332384.307125}, "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/pinterest/dbt_pinterest_source/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": 1658332384.307529}, "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/pinterest/dbt_pinterest_source/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": 1658332384.307709}, "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/pinterest/dbt_pinterest_source/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": 1658332384.308363}, "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/pinterest/dbt_pinterest_source/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": 1658332384.308995}, "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/pinterest/dbt_pinterest_source/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": 1658332384.3096142}, "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/pinterest/dbt_pinterest_source/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": 1658332384.309973}, "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/pinterest/dbt_pinterest_source/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": 1658332384.310496}, "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/pinterest/dbt_pinterest_source/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": 1658332384.3107882}, "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/pinterest/dbt_pinterest_source/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": 1658332384.311261}, "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/pinterest/dbt_pinterest_source/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": 1658332384.3119009}, "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/pinterest/dbt_pinterest_source/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": 1658332384.312649}, "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/pinterest/dbt_pinterest_source/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": 1658332384.313503}, "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/pinterest/dbt_pinterest_source/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": 1658332384.313986}, "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/pinterest/dbt_pinterest_source/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": 1658332384.3141508}, "macro.dbt_utils.test_equality": {"unique_id": "macro.dbt_utils.test_equality", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.314934}, "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/pinterest/dbt_pinterest_source/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": 1658332384.315818}, "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/pinterest/dbt_pinterest_source/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": 1658332384.318797}, "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/pinterest/dbt_pinterest_source/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": 1658332384.32027}, "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/pinterest/dbt_pinterest_source/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": 1658332384.320603}, "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/pinterest/dbt_pinterest_source/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": 1658332384.320767}, "macro.dbt_utils.pretty_time": {"unique_id": "macro.dbt_utils.pretty_time", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.321099}, "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/pinterest/dbt_pinterest_source/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": 1658332384.321293}, "macro.dbt_utils.log_info": {"unique_id": "macro.dbt_utils.log_info", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.321768}, "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/pinterest/dbt_pinterest_source/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": 1658332384.322017}, "macro.dbt_utils.slugify": {"unique_id": "macro.dbt_utils.slugify", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.322759}, "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/pinterest/dbt_pinterest_source/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": 1658332384.32355}, "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/pinterest/dbt_pinterest_source/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": 1658332384.324194}, "macro.dbt_utils.date_spine": {"unique_id": "macro.dbt_utils.date_spine", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.3244328}, "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/pinterest/dbt_pinterest_source/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": 1658332384.324801}, "macro.dbt_utils.nullcheck_table": {"unique_id": "macro.dbt_utils.nullcheck_table", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.3252091}, "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/pinterest/dbt_pinterest_source/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": 1658332384.345376}, "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/pinterest/dbt_pinterest_source/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": 1658332384.3462698}, "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/pinterest/dbt_pinterest_source/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": 1658332384.3471549}, "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/pinterest/dbt_pinterest_source/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": 1658332384.348078}, "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/pinterest/dbt_pinterest_source/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": 1658332384.348512}, "macro.dbt_utils.generate_series": {"unique_id": "macro.dbt_utils.generate_series", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.3487082}, "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/pinterest/dbt_pinterest_source/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": 1658332384.349226}, "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/pinterest/dbt_pinterest_source/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": 1658332384.349996}, "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/pinterest/dbt_pinterest_source/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": 1658332384.350854}, "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/pinterest/dbt_pinterest_source/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": 1658332384.351344}, "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/pinterest/dbt_pinterest_source/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": 1658332384.3516212}, "macro.dbt_utils.star": {"unique_id": "macro.dbt_utils.star", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.352366}, "macro.dbt_utils.default__star": {"unique_id": "macro.dbt_utils.default__star", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.353417}, "macro.dbt_utils.unpivot": {"unique_id": "macro.dbt_utils.unpivot", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.355138}, "macro.dbt_utils.default__unpivot": {"unique_id": "macro.dbt_utils.default__unpivot", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.3571332}, "macro.dbt_utils.union_relations": {"unique_id": "macro.dbt_utils.union_relations", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.359644}, "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/pinterest/dbt_pinterest_source/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": 1658332384.3626509}, "macro.dbt_utils.group_by": {"unique_id": "macro.dbt_utils.group_by", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.3630269}, "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/pinterest/dbt_pinterest_source/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": 1658332384.3632782}, "macro.dbt_utils.deduplicate": {"unique_id": "macro.dbt_utils.deduplicate", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.365669}, "macro.dbt_utils.default__deduplicate": {"unique_id": "macro.dbt_utils.default__deduplicate", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.365887}, "macro.dbt_utils.redshift__deduplicate": {"unique_id": "macro.dbt_utils.redshift__deduplicate", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.366094}, "macro.dbt_utils.postgres__deduplicate": {"unique_id": "macro.dbt_utils.postgres__deduplicate", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.366279}, "macro.dbt_utils.snowflake__deduplicate": {"unique_id": "macro.dbt_utils.snowflake__deduplicate", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.366436}, "macro.dbt_utils.bigquery__deduplicate": {"unique_id": "macro.dbt_utils.bigquery__deduplicate", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.366603}, "macro.dbt_utils.surrogate_key": {"unique_id": "macro.dbt_utils.surrogate_key", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.367292}, "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/pinterest/dbt_pinterest_source/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": 1658332384.3683698}, "macro.dbt_utils.safe_add": {"unique_id": "macro.dbt_utils.safe_add", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.368945}, "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/pinterest/dbt_pinterest_source/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": 1658332384.36925}, "macro.dbt_utils.nullcheck": {"unique_id": "macro.dbt_utils.nullcheck", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.3697002}, "macro.dbt_utils.default__nullcheck": {"unique_id": "macro.dbt_utils.default__nullcheck", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.370058}, "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/pinterest/dbt_pinterest_source/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": 1658332384.3716722}, "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/pinterest/dbt_pinterest_source/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": 1658332384.371957}, "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/pinterest/dbt_pinterest_source/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": 1658332384.3727849}, "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/pinterest/dbt_pinterest_source/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": 1658332384.373317}, "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/pinterest/dbt_pinterest_source/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": 1658332384.374466}, "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/pinterest/dbt_pinterest_source/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": 1658332384.375998}, "macro.dbt_utils.pivot": {"unique_id": "macro.dbt_utils.pivot", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.377088}, "macro.dbt_utils.default__pivot": {"unique_id": "macro.dbt_utils.default__pivot", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.3779461}, "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/pinterest/dbt_pinterest_source/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": 1658332384.378509}, "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/pinterest/dbt_pinterest_source/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": 1658332384.379246}, "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/pinterest/dbt_pinterest_source/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": 1658332384.3797078}, "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/pinterest/dbt_pinterest_source/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": 1658332384.380312}, "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/pinterest/dbt_pinterest_source/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": 1658332384.3808389}, "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/pinterest/dbt_pinterest_source/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": 1658332384.380928}, "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/pinterest/dbt_pinterest_source/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": 1658332384.381017}, "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/pinterest/dbt_pinterest_source/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": 1658332384.3811011}, "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/pinterest/dbt_pinterest_source/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": 1658332384.382147}, "macro.dbt_utils.haversine_distance": {"unique_id": "macro.dbt_utils.haversine_distance", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.382433}, "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/pinterest/dbt_pinterest_source/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": 1658332384.3830101}, "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/pinterest/dbt_pinterest_source/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": 1658332384.3838851}, "macro.spark_utils.get_tables": {"unique_id": "macro.spark_utils.get_tables", "package_name": "spark_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.388681}, "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/pinterest/dbt_pinterest_source/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": 1658332384.389387}, "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/pinterest/dbt_pinterest_source/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": 1658332384.390275}, "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/pinterest/dbt_pinterest_source/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": 1658332384.391048}, "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/pinterest/dbt_pinterest_source/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": 1658332384.391807}, "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/pinterest/dbt_pinterest_source/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": 1658332384.3927429}, "macro.spark_utils.spark__concat": {"unique_id": "macro.spark_utils.spark__concat", "package_name": "spark_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.393}, "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/pinterest/dbt_pinterest_source/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": 1658332384.3931751}, "macro.spark_utils.spark__dateadd": {"unique_id": "macro.spark_utils.spark__dateadd", "package_name": "spark_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.395936}, "macro.spark_utils.spark__datediff": {"unique_id": "macro.spark_utils.spark__datediff", "package_name": "spark_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.403004}, "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/pinterest/dbt_pinterest_source/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": 1658332384.403224}, "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/pinterest/dbt_pinterest_source/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": 1658332384.4032981}, "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/pinterest/dbt_pinterest_source/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": 1658332384.40391}, "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/pinterest/dbt_pinterest_source/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": 1658332384.405489}, "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/pinterest/dbt_pinterest_source/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": 1658332384.405824}, "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/pinterest/dbt_pinterest_source/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": 1658332384.406104}, "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/pinterest/dbt_pinterest_source/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": 1658332384.406379}, "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/pinterest/dbt_pinterest_source/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": 1658332384.406763}, "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/pinterest/dbt_pinterest_source/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": 1658332384.406961}, "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/pinterest/dbt_pinterest_source/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": 1658332384.407228}, "macro.fivetran_utils.enabled_vars": {"unique_id": "macro.fivetran_utils.enabled_vars", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.407682}, "macro.fivetran_utils.percentile": {"unique_id": "macro.fivetran_utils.percentile", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.408607}, "macro.fivetran_utils.default__percentile": {"unique_id": "macro.fivetran_utils.default__percentile", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.4087749}, "macro.fivetran_utils.redshift__percentile": {"unique_id": "macro.fivetran_utils.redshift__percentile", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.4089348}, "macro.fivetran_utils.bigquery__percentile": {"unique_id": "macro.fivetran_utils.bigquery__percentile", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.4090939}, "macro.fivetran_utils.postgres__percentile": {"unique_id": "macro.fivetran_utils.postgres__percentile", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.409239}, "macro.fivetran_utils.spark__percentile": {"unique_id": "macro.fivetran_utils.spark__percentile", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.409396}, "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/pinterest/dbt_pinterest_source/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": 1658332384.4098911}, "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/pinterest/dbt_pinterest_source/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) %}\n\n{% if var(pass_through_variable, none) %}\n {% for field in var(pass_through_variable) %}\n , {{ 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": 1658332384.4104059}, "macro.fivetran_utils.json_parse": {"unique_id": "macro.fivetran_utils.json_parse", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.411455}, "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/pinterest/dbt_pinterest_source/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": 1658332384.4117}, "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/pinterest/dbt_pinterest_source/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": 1658332384.411941}, "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/pinterest/dbt_pinterest_source/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": 1658332384.412189}, "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/pinterest/dbt_pinterest_source/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": 1658332384.412427}, "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/pinterest/dbt_pinterest_source/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": 1658332384.412694}, "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/pinterest/dbt_pinterest_source/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": 1658332384.4129531}, "macro.fivetran_utils.max_bool": {"unique_id": "macro.fivetran_utils.max_bool", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.413335}, "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/pinterest/dbt_pinterest_source/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": 1658332384.413434}, "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/pinterest/dbt_pinterest_source/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": 1658332384.41353}, "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/pinterest/dbt_pinterest_source/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": 1658332384.41363}, "macro.fivetran_utils.calculated_fields": {"unique_id": "macro.fivetran_utils.calculated_fields", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.414065}, "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/pinterest/dbt_pinterest_source/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": 1658332384.414691}, "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/pinterest/dbt_pinterest_source/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": 1658332384.415353}, "macro.fivetran_utils.string_agg": {"unique_id": "macro.fivetran_utils.string_agg", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.4158678}, "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/pinterest/dbt_pinterest_source/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": 1658332384.4160461}, "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/pinterest/dbt_pinterest_source/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": 1658332384.416199}, "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/pinterest/dbt_pinterest_source/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": 1658332384.4163342}, "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/pinterest/dbt_pinterest_source/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": 1658332384.4164748}, "macro.fivetran_utils.timestamp_diff": {"unique_id": "macro.fivetran_utils.timestamp_diff", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.419301}, "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/pinterest/dbt_pinterest_source/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": 1658332384.419466}, "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/pinterest/dbt_pinterest_source/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": 1658332384.419623}, "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/pinterest/dbt_pinterest_source/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": 1658332384.4197812}, "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/pinterest/dbt_pinterest_source/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": 1658332384.42149}, "macro.fivetran_utils.try_cast": {"unique_id": "macro.fivetran_utils.try_cast", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.422376}, "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/pinterest/dbt_pinterest_source/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": 1658332384.422517}, "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/pinterest/dbt_pinterest_source/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": 1658332384.4227982}, "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/pinterest/dbt_pinterest_source/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": 1658332384.423083}, "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/pinterest/dbt_pinterest_source/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": 1658332384.4232152}, "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/pinterest/dbt_pinterest_source/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": 1658332384.423341}, "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/pinterest/dbt_pinterest_source/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": 1658332384.423465}, "macro.fivetran_utils.source_relation": {"unique_id": "macro.fivetran_utils.source_relation", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.424018}, "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/pinterest/dbt_pinterest_source/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": 1658332384.424591}, "macro.fivetran_utils.first_value": {"unique_id": "macro.fivetran_utils.first_value", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.425136}, "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/pinterest/dbt_pinterest_source/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": 1658332384.425341}, "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/pinterest/dbt_pinterest_source/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": 1658332384.425559}, "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/pinterest/dbt_pinterest_source/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": 1658332384.425895}, "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/pinterest/dbt_pinterest_source/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": 1658332384.426829}, "macro.fivetran_utils.union_relations": {"unique_id": "macro.fivetran_utils.union_relations", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.43069}, "macro.fivetran_utils.union_tables": {"unique_id": "macro.fivetran_utils.union_tables", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.431057}, "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/pinterest/dbt_pinterest_source/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": 1658332384.431516}, "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/pinterest/dbt_pinterest_source/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": 1658332384.433056}, "macro.fivetran_utils.quote_column": {"unique_id": "macro.fivetran_utils.quote_column", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.433603}, "macro.fivetran_utils.json_extract": {"unique_id": "macro.fivetran_utils.json_extract", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.434211}, "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/pinterest/dbt_pinterest_source/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": 1658332384.434361}, "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/pinterest/dbt_pinterest_source/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": 1658332384.4345129}, "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/pinterest/dbt_pinterest_source/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": 1658332384.4346812}, "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/pinterest/dbt_pinterest_source/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": 1658332384.4348311}, "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/pinterest/dbt_pinterest_source/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": 1658332384.434976}, "macro.fivetran_utils.collect_freshness": {"unique_id": "macro.fivetran_utils.collect_freshness", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.4356961}, "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/pinterest/dbt_pinterest_source/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": 1658332384.436678}, "macro.fivetran_utils.timestamp_add": {"unique_id": "macro.fivetran_utils.timestamp_add", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.437397}, "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/pinterest/dbt_pinterest_source/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": 1658332384.437556}, "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/pinterest/dbt_pinterest_source/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": 1658332384.4377222}, "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/pinterest/dbt_pinterest_source/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": 1658332384.437879}, "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/pinterest/dbt_pinterest_source/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": 1658332384.438041}, "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/pinterest/dbt_pinterest_source/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": 1658332384.4382122}, "macro.fivetran_utils.ceiling": {"unique_id": "macro.fivetran_utils.ceiling", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.438522}, "macro.fivetran_utils.default__ceiling": {"unique_id": "macro.fivetran_utils.default__ceiling", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.438684}, "macro.fivetran_utils.snowflake__ceiling": {"unique_id": "macro.fivetran_utils.snowflake__ceiling", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.438781}, "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/pinterest/dbt_pinterest_source/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": 1658332384.4394722}, "macro.fivetran_utils.union_data": {"unique_id": "macro.fivetran_utils.union_data", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.440682}, "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/pinterest/dbt_pinterest_source/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": 1658332384.44243}, "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/pinterest/dbt_pinterest_source/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": 1658332384.443873}, "macro.fivetran_utils.array_agg": {"unique_id": "macro.fivetran_utils.array_agg", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.4442072}, "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/pinterest/dbt_pinterest_source/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": 1658332384.44431}, "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/pinterest/dbt_pinterest_source/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": 1658332384.4444082}, "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/pinterest/dbt_pinterest_source/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": 1658332384.444862}, "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/pinterest/dbt_pinterest_source/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": 1658332384.44532}, "macro.pinterest_source.get_ad_group_history_columns": {"unique_id": "macro.pinterest_source.get_ad_group_history_columns", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "macros/get_ad_group_history_columns.sql", "original_file_path": "macros/get_ad_group_history_columns.sql", "name": "get_ad_group_history_columns", "macro_sql": "{% macro get_ad_group_history_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"campaign_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"created_time\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"end_time\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"name\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"start_time\", \"datatype\": dbt_utils.type_timestamp()},\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_string"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1658332384.4463518}, "macro.pinterest_source.get_pin_promotion_history_columns": {"unique_id": "macro.pinterest_source.get_pin_promotion_history_columns", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "macros/get_pin_promotion_history_columns.sql", "original_file_path": "macros/get_pin_promotion_history_columns.sql", "name": "get_pin_promotion_history_columns", "macro_sql": "{% macro get_pin_promotion_history_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"ad_group_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"android_deep_link\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"click_tracking_url\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"created_time\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"creative_type\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"destination_url\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"ios_deep_link\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"is_pin_deleted\", \"datatype\": \"boolean\"},\n {\"name\": \"is_removable\", \"datatype\": \"boolean\"},\n {\"name\": \"name\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"pin_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"review_status\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"status\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"updated_time\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"view_tracking_url\", \"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_string"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1658332384.4483159}, "macro.pinterest_source.get_keyword_report_columns": {"unique_id": "macro.pinterest_source.get_keyword_report_columns", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "macros/get_keyword_report_columns.sql", "original_file_path": "macros/get_keyword_report_columns.sql", "name": "get_keyword_report_columns", "macro_sql": "{% macro get_keyword_report_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"ad_group_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"ad_group_name\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"ad_group_status\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"advertiser_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"campaign_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"clickthrough_1\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"clickthrough_2\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"date\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"impression_1\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"impression_2\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"keyword_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"pin_promotion_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"spend_in_micro_dollar\", \"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_string", "macro.dbt_utils.type_int"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1658332384.449953}, "macro.pinterest_source.get_pin_promotion_report_columns": {"unique_id": "macro.pinterest_source.get_pin_promotion_report_columns", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "macros/get_pin_promotion_report_columns.sql", "original_file_path": "macros/get_pin_promotion_report_columns.sql", "name": "get_pin_promotion_report_columns", "macro_sql": "{% macro get_pin_promotion_report_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"ad_group_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"advertiser_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"campaign_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"clickthrough_1\", \"datatype\": dbt_utils.type_numeric()},\n {\"name\": \"clickthrough_2\", \"datatype\": dbt_utils.type_numeric()},\n {\"name\": \"date\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"impression_1\", \"datatype\": dbt_utils.type_numeric()},\n {\"name\": \"impression_2\", \"datatype\": dbt_utils.type_numeric()},\n {\"name\": \"pin_promotion_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"spend_in_micro_dollar\", \"datatype\": dbt_utils.type_numeric()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.type_timestamp", "macro.dbt_utils.type_string", "macro.dbt_utils.type_numeric"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1658332384.451288}, "macro.pinterest_source.get_campaign_report_columns": {"unique_id": "macro.pinterest_source.get_campaign_report_columns", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "macros/get_campaign_report_columns.sql", "original_file_path": "macros/get_campaign_report_columns.sql", "name": "get_campaign_report_columns", "macro_sql": "{% macro get_campaign_report_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"advertiser_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"campaign_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"campaign_name\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"campaign_status\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"clickthrough_1\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"clickthrough_2\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"date\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"impression_1\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"impression_2\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"spend_in_micro_dollar\", \"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_string", "macro.dbt_utils.type_int"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1658332384.4526138}, "macro.pinterest_source.get_campaign_history_columns": {"unique_id": "macro.pinterest_source.get_campaign_history_columns", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_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\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"created_time\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"advertiser_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"name\", \"datatype\": dbt_utils.type_string()},\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_string"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1658332384.4534621}, "macro.pinterest_source.get_advertiser_history_columns": {"unique_id": "macro.pinterest_source.get_advertiser_history_columns", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "macros/get_advertiser_history_columns.sql", "original_file_path": "macros/get_advertiser_history_columns.sql", "name": "get_advertiser_history_columns", "macro_sql": "{% macro get_advertiser_history_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"billing_profile_status\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"billing_type\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"country\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"created_time\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"currency\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"merchant_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"name\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"owner_user_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"status\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"updated_time\", \"datatype\": dbt_utils.type_timestamp()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.type_timestamp", "macro.dbt_utils.type_string"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1658332384.4549499}, "macro.pinterest_source.get_ad_group_report_columns": {"unique_id": "macro.pinterest_source.get_ad_group_report_columns", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "macros/get_ad_group_report_columns.sql", "original_file_path": "macros/get_ad_group_report_columns.sql", "name": "get_ad_group_report_columns", "macro_sql": "{% macro get_ad_group_report_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"ad_group_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"ad_group_name\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"ad_group_status\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"advertiser_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"campaign_id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"clickthrough_1\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"clickthrough_2\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"date\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"impression_1\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"impression_2\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"spend_in_micro_dollar\", \"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_string", "macro.dbt_utils.type_int"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1658332384.456406}, "macro.pinterest_source.get_keyword_history_columns": {"unique_id": "macro.pinterest_source.get_keyword_history_columns", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "macros/get_keyword_history_columns.sql", "original_file_path": "macros/get_keyword_history_columns.sql", "name": "get_keyword_history_columns", "macro_sql": "{% macro get_keyword_history_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"ad_group_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"advertiser_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"archived\", \"datatype\": \"boolean\"},\n {\"name\": \"bid\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"campaign_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"match_type\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"parent_type\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"value\", \"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": 1658332384.457729}, "macro.pinterest_source.get_advertiser_report_columns": {"unique_id": "macro.pinterest_source.get_advertiser_report_columns", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "macros/get_advertiser_report_columns.sql", "original_file_path": "macros/get_advertiser_report_columns.sql", "name": "get_advertiser_report_columns", "macro_sql": "{% macro get_advertiser_report_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"advertiser_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"clickthrough_1\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"clickthrough_2\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"date\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"impression_1\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"impression_2\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"spend_in_micro_dollar\", \"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_string", "macro.dbt_utils.type_int"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1658332384.458768}}, "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"}, "pinterest_source._fivetran_synced": {"unique_id": "pinterest_source._fivetran_synced", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "_fivetran_synced", "block_contents": "Timestamp of when a record was last synced."}, "pinterest_source.is_most_recent_record": {"unique_id": "pinterest_source.is_most_recent_record", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "is_most_recent_record", "block_contents": "Boolean representing whether the record is the most recent version of the object."}, "pinterest_source.date_day": {"unique_id": "pinterest_source.date_day", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "date_day", "block_contents": "The performance date of the record."}, "pinterest_source.ad_group_id": {"unique_id": "pinterest_source.ad_group_id", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "ad_group_id", "block_contents": "The ID of the related Ad group."}, "pinterest_source.pin_promotion_id": {"unique_id": "pinterest_source.pin_promotion_id", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "pin_promotion_id", "block_contents": "The ID of the related Pin promotion."}, "pinterest_source.campaign_id": {"unique_id": "pinterest_source.campaign_id", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "campaign_id", "block_contents": "The ID of the related Campaign."}, "pinterest_source.advertiser_id": {"unique_id": "pinterest_source.advertiser_id", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "advertiser_id", "block_contents": "The ID of the related Advertiser."}, "pinterest_source.impressions": {"unique_id": "pinterest_source.impressions", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "impressions", "block_contents": "The number of paid and earned impressions that occurred on the day of the record."}, "pinterest_source.clicks": {"unique_id": "pinterest_source.clicks", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "clicks", "block_contents": "The number of paid and earned clicks that occurred on the day of the record."}, "pinterest_source.spend": {"unique_id": "pinterest_source.spend", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "spend", "block_contents": "The amount of spend that occurred on the day of the record."}, "pinterest_source.updated_at": {"unique_id": "pinterest_source.updated_at", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "updated_at", "block_contents": "Timestamp of when a record was last updated."}, "pinterest_source.created_at": {"unique_id": "pinterest_source.created_at", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "created_at", "block_contents": "Timestamp of when a record was created."}, "pinterest_source.spend_in_micro_dollar": {"unique_id": "pinterest_source.spend_in_micro_dollar", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "spend_in_micro_dollar", "block_contents": "The amount of spend in micro dollars that occurred on the day of the record."}, "pinterest_source.clickthrough_1": {"unique_id": "pinterest_source.clickthrough_1", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "clickthrough_1", "block_contents": "The number of paid pin clicks that occurred on the day of the record."}, "pinterest_source.clickthrough_2": {"unique_id": "pinterest_source.clickthrough_2", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "clickthrough_2", "block_contents": "The number of earned outbound clicks that occurred on the day of the record."}, "pinterest_source.impression_1": {"unique_id": "pinterest_source.impression_1", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "impression_1", "block_contents": "The number of paid pin impressions that occurred on the day of the record."}, "pinterest_source.impression_2": {"unique_id": "pinterest_source.impression_2", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "impression_2", "block_contents": "The number of earned pin impressions that occurred on the day of the record."}}, "exposures": {}, "metrics": {}, "selectors": {}, "disabled": {}, "parent_map": {"seed.pinterest_source_integration_tests.ad_group_report_data": [], "seed.pinterest_source_integration_tests.keyword_report_data": [], "seed.pinterest_source_integration_tests.pin_promotion_history_data": [], "seed.pinterest_source_integration_tests.advertiser_history_data": [], "seed.pinterest_source_integration_tests.advertiser_report_data": [], "seed.pinterest_source_integration_tests.ad_group_history_data": [], "seed.pinterest_source_integration_tests.campaign_history_data": [], "seed.pinterest_source_integration_tests.campaign_report_data": [], "seed.pinterest_source_integration_tests.keyword_history_data": [], "seed.pinterest_source_integration_tests.pin_promotion_report_data": [], "model.pinterest_source.stg_pinterest_ads__pin_promotion_history": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_history_tmp", "model.pinterest_source.stg_pinterest_ads__pin_promotion_history_tmp"], "model.pinterest_source.stg_pinterest_ads__keyword_report": ["model.pinterest_source.stg_pinterest_ads__keyword_report_tmp", "model.pinterest_source.stg_pinterest_ads__keyword_report_tmp"], "model.pinterest_source.stg_pinterest_ads__ad_group_report": ["model.pinterest_source.stg_pinterest_ads__ad_group_report_tmp", "model.pinterest_source.stg_pinterest_ads__ad_group_report_tmp"], "model.pinterest_source.stg_pinterest_ads__campaign_history": ["model.pinterest_source.stg_pinterest_ads__campaign_history_tmp", "model.pinterest_source.stg_pinterest_ads__campaign_history_tmp"], "model.pinterest_source.stg_pinterest_ads__advertiser_report": ["model.pinterest_source.stg_pinterest_ads__advertiser_report_tmp", "model.pinterest_source.stg_pinterest_ads__advertiser_report_tmp"], "model.pinterest_source.stg_pinterest_ads__advertiser_history": ["model.pinterest_source.stg_pinterest_ads__advertiser_history_tmp", "model.pinterest_source.stg_pinterest_ads__advertiser_history_tmp"], "model.pinterest_source.stg_pinterest_ads__campaign_report": ["model.pinterest_source.stg_pinterest_ads__campaign_report_tmp", "model.pinterest_source.stg_pinterest_ads__campaign_report_tmp"], "model.pinterest_source.stg_pinterest_ads__keyword_history": ["model.pinterest_source.stg_pinterest_ads__keyword_history_tmp", "model.pinterest_source.stg_pinterest_ads__keyword_history_tmp"], "model.pinterest_source.stg_pinterest_ads__pin_promotion_report": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_report_tmp", "model.pinterest_source.stg_pinterest_ads__pin_promotion_report_tmp"], "model.pinterest_source.stg_pinterest_ads__ad_group_history": ["model.pinterest_source.stg_pinterest_ads__ad_group_history_tmp", "model.pinterest_source.stg_pinterest_ads__ad_group_history_tmp"], "model.pinterest_source.stg_pinterest_ads__advertiser_history_tmp": ["source.pinterest_source.pinterest_ads.advertiser_history"], "model.pinterest_source.stg_pinterest_ads__pin_promotion_report_tmp": ["source.pinterest_source.pinterest_ads.pin_promotion_report"], "model.pinterest_source.stg_pinterest_ads__campaign_report_tmp": ["source.pinterest_source.pinterest_ads.campaign_report"], "model.pinterest_source.stg_pinterest_ads__advertiser_report_tmp": ["source.pinterest_source.pinterest_ads.advertiser_report"], "model.pinterest_source.stg_pinterest_ads__keyword_report_tmp": ["source.pinterest_source.pinterest_ads.keyword_report"], "model.pinterest_source.stg_pinterest_ads__ad_group_report_tmp": ["source.pinterest_source.pinterest_ads.ad_group_report"], "model.pinterest_source.stg_pinterest_ads__keyword_history_tmp": ["source.pinterest_source.pinterest_ads.keyword_history"], "model.pinterest_source.stg_pinterest_ads__campaign_history_tmp": ["source.pinterest_source.pinterest_ads.campaign_history"], "model.pinterest_source.stg_pinterest_ads__ad_group_history_tmp": ["source.pinterest_source.pinterest_ads.ad_group_history"], "model.pinterest_source.stg_pinterest_ads__pin_promotion_history_tmp": ["source.pinterest_source.pinterest_ads.pin_promotion_history"], "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_history_ad_group_id.220c6220be": ["model.pinterest_source.stg_pinterest_ads__ad_group_history"], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_history_ad_group_id___fivetran_synced.1132e1f339": ["model.pinterest_source.stg_pinterest_ads__ad_group_history"], "test.pinterest_source.not_null_stg_pinterest_ads__campaign_history_campaign_id.60cb10d341": ["model.pinterest_source.stg_pinterest_ads__campaign_history"], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_history_campaign_id___fivetran_synced.eff7196b87": ["model.pinterest_source.stg_pinterest_ads__campaign_history"], "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_history_pin_promotion_id.171995cd34": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_history"], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_history__fivetran_synced__pin_promotion_id.8e9ab31ea9": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_history"], "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_report_date_day.ed272212a1": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_report"], "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_report_pin_promotion_id.9c3c9f71ab": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_report"], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_report_date_day__pin_promotion_id__ad_group_id__campaign_id__advertiser_id.7ea04e6024": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_report"], "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_report_date_day.80e8904c4c": ["model.pinterest_source.stg_pinterest_ads__ad_group_report"], "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_report_ad_group_id.bb8cf3c471": ["model.pinterest_source.stg_pinterest_ads__ad_group_report"], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_report_date_day__ad_group_id__advertiser_id.692e15663e": ["model.pinterest_source.stg_pinterest_ads__ad_group_report"], "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_history_advertiser_id.7d24f665fb": ["model.pinterest_source.stg_pinterest_ads__advertiser_history"], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_history_updated_at__advertiser_id.94e8f4de4b": ["model.pinterest_source.stg_pinterest_ads__advertiser_history"], "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_report_date_day.153bd03c95": ["model.pinterest_source.stg_pinterest_ads__advertiser_report"], "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_report_advertiser_id.1b16ed73ff": ["model.pinterest_source.stg_pinterest_ads__advertiser_report"], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_report_date_day__advertiser_id.e92ce8a9c0": ["model.pinterest_source.stg_pinterest_ads__advertiser_report"], "test.pinterest_source.not_null_stg_pinterest_ads__campaign_report_date_day.7ef5fb1238": ["model.pinterest_source.stg_pinterest_ads__campaign_report"], "test.pinterest_source.not_null_stg_pinterest_ads__campaign_report_campaign_id.a287eba0fc": ["model.pinterest_source.stg_pinterest_ads__campaign_report"], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_report_date_day__campaign_id__advertiser_id.ff47cb8abc": ["model.pinterest_source.stg_pinterest_ads__campaign_report"], "test.pinterest_source.not_null_stg_pinterest_ads__keyword_history_keyword_id.246889377a": ["model.pinterest_source.stg_pinterest_ads__keyword_history"], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_history_keyword_id__ad_group_id___fivetran_synced.d122faa877": ["model.pinterest_source.stg_pinterest_ads__keyword_history"], "test.pinterest_source.not_null_stg_pinterest_ads__keyword_report_date_day.9937216300": ["model.pinterest_source.stg_pinterest_ads__keyword_report"], "test.pinterest_source.not_null_stg_pinterest_ads__keyword_report_keyword_id.5f00679c48": ["model.pinterest_source.stg_pinterest_ads__keyword_report"], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_report_date_day__keyword_id__ad_group_id__campaign_id__advertiser_id.3ac101cc13": ["model.pinterest_source.stg_pinterest_ads__keyword_report"], "source.pinterest_source.pinterest_ads.pin_promotion_report": [], "source.pinterest_source.pinterest_ads.pin_promotion_history": [], "source.pinterest_source.pinterest_ads.campaign_history": [], "source.pinterest_source.pinterest_ads.ad_group_history": [], "source.pinterest_source.pinterest_ads.ad_group_report": [], "source.pinterest_source.pinterest_ads.advertiser_history": [], "source.pinterest_source.pinterest_ads.advertiser_report": [], "source.pinterest_source.pinterest_ads.campaign_report": [], "source.pinterest_source.pinterest_ads.keyword_history": [], "source.pinterest_source.pinterest_ads.keyword_report": []}, "child_map": {"seed.pinterest_source_integration_tests.ad_group_report_data": [], "seed.pinterest_source_integration_tests.keyword_report_data": [], "seed.pinterest_source_integration_tests.pin_promotion_history_data": [], "seed.pinterest_source_integration_tests.advertiser_history_data": [], "seed.pinterest_source_integration_tests.advertiser_report_data": [], "seed.pinterest_source_integration_tests.ad_group_history_data": [], "seed.pinterest_source_integration_tests.campaign_history_data": [], "seed.pinterest_source_integration_tests.campaign_report_data": [], "seed.pinterest_source_integration_tests.keyword_history_data": [], "seed.pinterest_source_integration_tests.pin_promotion_report_data": [], "model.pinterest_source.stg_pinterest_ads__pin_promotion_history": ["test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_history__fivetran_synced__pin_promotion_id.8e9ab31ea9", "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_history_pin_promotion_id.171995cd34"], "model.pinterest_source.stg_pinterest_ads__keyword_report": ["test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_report_date_day__keyword_id__ad_group_id__campaign_id__advertiser_id.3ac101cc13", "test.pinterest_source.not_null_stg_pinterest_ads__keyword_report_date_day.9937216300", "test.pinterest_source.not_null_stg_pinterest_ads__keyword_report_keyword_id.5f00679c48"], "model.pinterest_source.stg_pinterest_ads__ad_group_report": ["test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_report_date_day__ad_group_id__advertiser_id.692e15663e", "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_report_ad_group_id.bb8cf3c471", "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_report_date_day.80e8904c4c"], "model.pinterest_source.stg_pinterest_ads__campaign_history": ["test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_history_campaign_id___fivetran_synced.eff7196b87", "test.pinterest_source.not_null_stg_pinterest_ads__campaign_history_campaign_id.60cb10d341"], "model.pinterest_source.stg_pinterest_ads__advertiser_report": ["test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_report_date_day__advertiser_id.e92ce8a9c0", "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_report_advertiser_id.1b16ed73ff", "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_report_date_day.153bd03c95"], "model.pinterest_source.stg_pinterest_ads__advertiser_history": ["test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_history_updated_at__advertiser_id.94e8f4de4b", "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_history_advertiser_id.7d24f665fb"], "model.pinterest_source.stg_pinterest_ads__campaign_report": ["test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_report_date_day__campaign_id__advertiser_id.ff47cb8abc", "test.pinterest_source.not_null_stg_pinterest_ads__campaign_report_campaign_id.a287eba0fc", "test.pinterest_source.not_null_stg_pinterest_ads__campaign_report_date_day.7ef5fb1238"], "model.pinterest_source.stg_pinterest_ads__keyword_history": ["test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_history_keyword_id__ad_group_id___fivetran_synced.d122faa877", "test.pinterest_source.not_null_stg_pinterest_ads__keyword_history_keyword_id.246889377a"], "model.pinterest_source.stg_pinterest_ads__pin_promotion_report": ["test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_report_date_day__pin_promotion_id__ad_group_id__campaign_id__advertiser_id.7ea04e6024", "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_report_date_day.ed272212a1", "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_report_pin_promotion_id.9c3c9f71ab"], "model.pinterest_source.stg_pinterest_ads__ad_group_history": ["test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_history_ad_group_id___fivetran_synced.1132e1f339", "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_history_ad_group_id.220c6220be"], "model.pinterest_source.stg_pinterest_ads__advertiser_history_tmp": ["model.pinterest_source.stg_pinterest_ads__advertiser_history", "model.pinterest_source.stg_pinterest_ads__advertiser_history"], "model.pinterest_source.stg_pinterest_ads__pin_promotion_report_tmp": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_report", "model.pinterest_source.stg_pinterest_ads__pin_promotion_report"], "model.pinterest_source.stg_pinterest_ads__campaign_report_tmp": ["model.pinterest_source.stg_pinterest_ads__campaign_report", "model.pinterest_source.stg_pinterest_ads__campaign_report"], "model.pinterest_source.stg_pinterest_ads__advertiser_report_tmp": ["model.pinterest_source.stg_pinterest_ads__advertiser_report", "model.pinterest_source.stg_pinterest_ads__advertiser_report"], "model.pinterest_source.stg_pinterest_ads__keyword_report_tmp": ["model.pinterest_source.stg_pinterest_ads__keyword_report", "model.pinterest_source.stg_pinterest_ads__keyword_report"], "model.pinterest_source.stg_pinterest_ads__ad_group_report_tmp": ["model.pinterest_source.stg_pinterest_ads__ad_group_report", "model.pinterest_source.stg_pinterest_ads__ad_group_report"], "model.pinterest_source.stg_pinterest_ads__keyword_history_tmp": ["model.pinterest_source.stg_pinterest_ads__keyword_history", "model.pinterest_source.stg_pinterest_ads__keyword_history"], "model.pinterest_source.stg_pinterest_ads__campaign_history_tmp": ["model.pinterest_source.stg_pinterest_ads__campaign_history", "model.pinterest_source.stg_pinterest_ads__campaign_history"], "model.pinterest_source.stg_pinterest_ads__ad_group_history_tmp": ["model.pinterest_source.stg_pinterest_ads__ad_group_history", "model.pinterest_source.stg_pinterest_ads__ad_group_history"], "model.pinterest_source.stg_pinterest_ads__pin_promotion_history_tmp": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_history", "model.pinterest_source.stg_pinterest_ads__pin_promotion_history"], "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_history_ad_group_id.220c6220be": [], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_history_ad_group_id___fivetran_synced.1132e1f339": [], "test.pinterest_source.not_null_stg_pinterest_ads__campaign_history_campaign_id.60cb10d341": [], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_history_campaign_id___fivetran_synced.eff7196b87": [], "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_history_pin_promotion_id.171995cd34": [], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_history__fivetran_synced__pin_promotion_id.8e9ab31ea9": [], "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_report_date_day.ed272212a1": [], "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_report_pin_promotion_id.9c3c9f71ab": [], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_report_date_day__pin_promotion_id__ad_group_id__campaign_id__advertiser_id.7ea04e6024": [], "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_report_date_day.80e8904c4c": [], "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_report_ad_group_id.bb8cf3c471": [], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_report_date_day__ad_group_id__advertiser_id.692e15663e": [], "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_history_advertiser_id.7d24f665fb": [], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_history_updated_at__advertiser_id.94e8f4de4b": [], "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_report_date_day.153bd03c95": [], "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_report_advertiser_id.1b16ed73ff": [], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_report_date_day__advertiser_id.e92ce8a9c0": [], "test.pinterest_source.not_null_stg_pinterest_ads__campaign_report_date_day.7ef5fb1238": [], "test.pinterest_source.not_null_stg_pinterest_ads__campaign_report_campaign_id.a287eba0fc": [], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_report_date_day__campaign_id__advertiser_id.ff47cb8abc": [], "test.pinterest_source.not_null_stg_pinterest_ads__keyword_history_keyword_id.246889377a": [], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_history_keyword_id__ad_group_id___fivetran_synced.d122faa877": [], "test.pinterest_source.not_null_stg_pinterest_ads__keyword_report_date_day.9937216300": [], "test.pinterest_source.not_null_stg_pinterest_ads__keyword_report_keyword_id.5f00679c48": [], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_report_date_day__keyword_id__ad_group_id__campaign_id__advertiser_id.3ac101cc13": [], "source.pinterest_source.pinterest_ads.pin_promotion_report": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_report_tmp"], "source.pinterest_source.pinterest_ads.pin_promotion_history": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_history_tmp"], "source.pinterest_source.pinterest_ads.campaign_history": ["model.pinterest_source.stg_pinterest_ads__campaign_history_tmp"], "source.pinterest_source.pinterest_ads.ad_group_history": ["model.pinterest_source.stg_pinterest_ads__ad_group_history_tmp"], "source.pinterest_source.pinterest_ads.ad_group_report": ["model.pinterest_source.stg_pinterest_ads__ad_group_report_tmp"], "source.pinterest_source.pinterest_ads.advertiser_history": ["model.pinterest_source.stg_pinterest_ads__advertiser_history_tmp"], "source.pinterest_source.pinterest_ads.advertiser_report": ["model.pinterest_source.stg_pinterest_ads__advertiser_report_tmp"], "source.pinterest_source.pinterest_ads.campaign_report": ["model.pinterest_source.stg_pinterest_ads__campaign_report_tmp"], "source.pinterest_source.pinterest_ads.keyword_history": ["model.pinterest_source.stg_pinterest_ads__keyword_history_tmp"], "source.pinterest_source.pinterest_ads.keyword_report": ["model.pinterest_source.stg_pinterest_ads__keyword_report_tmp"]}} \ No newline at end of file diff --git a/docs/run_results.json b/docs/run_results.json index 82f23ea..207637c 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-06-30T22:37:02.001307Z", "invocation_id": "12ea8e79-f696-403e-91ac-676ccc0e54b3", "env": {}}, "results": [{"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T22:37:01.017488Z", "completed_at": "2022-06-30T22:37:01.027501Z"}, {"name": "execute", "started_at": "2022-06-30T22:37:01.028398Z", "completed_at": "2022-06-30T22:37:01.028408Z"}], "thread_id": "Thread-4", "execution_time": 0.012392282485961914, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__advertiser_report_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T22:37:01.017226Z", "completed_at": "2022-06-30T22:37:01.028129Z"}, {"name": "execute", "started_at": "2022-06-30T22:37:01.029118Z", "completed_at": "2022-06-30T22:37:01.029123Z"}], "thread_id": "Thread-3", "execution_time": 0.013352394104003906, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__advertiser_history_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T22:37:01.017633Z", "completed_at": "2022-06-30T22:37:01.027674Z"}, {"name": "execute", "started_at": "2022-06-30T22:37:01.028703Z", "completed_at": "2022-06-30T22:37:01.028713Z"}], "thread_id": "Thread-2", "execution_time": 0.013897895812988281, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__ad_group_report_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T22:37:01.017852Z", "completed_at": "2022-06-30T22:37:01.028584Z"}, {"name": "execute", "started_at": "2022-06-30T22:37:01.029411Z", "completed_at": "2022-06-30T22:37:01.029417Z"}], "thread_id": "Thread-1", "execution_time": 0.01456594467163086, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__ad_group_history_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T22:37:01.032009Z", "completed_at": "2022-06-30T22:37:01.039236Z"}, {"name": "execute", "started_at": "2022-06-30T22:37:01.041706Z", "completed_at": "2022-06-30T22:37:01.041714Z"}], "thread_id": "Thread-4", "execution_time": 0.011661052703857422, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__campaign_history_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T22:37:01.032166Z", "completed_at": "2022-06-30T22:37:01.041210Z"}, {"name": "execute", "started_at": "2022-06-30T22:37:01.041821Z", "completed_at": "2022-06-30T22:37:01.041828Z"}], "thread_id": "Thread-2", "execution_time": 0.011446714401245117, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__keyword_history_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T22:37:01.034390Z", "completed_at": "2022-06-30T22:37:01.042958Z"}, {"name": "execute", "started_at": "2022-06-30T22:37:01.044588Z", "completed_at": "2022-06-30T22:37:01.044595Z"}], "thread_id": "Thread-3", "execution_time": 0.013447046279907227, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__campaign_report_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T22:37:01.039063Z", "completed_at": "2022-06-30T22:37:01.043056Z"}, {"name": "execute", "started_at": "2022-06-30T22:37:01.044678Z", "completed_at": "2022-06-30T22:37:01.044682Z"}], "thread_id": "Thread-1", "execution_time": 0.01288294792175293, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__keyword_report_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T22:37:01.044822Z", "completed_at": "2022-06-30T22:37:01.050614Z"}, {"name": "execute", "started_at": "2022-06-30T22:37:01.052491Z", "completed_at": "2022-06-30T22:37:01.052499Z"}], "thread_id": "Thread-4", "execution_time": 0.010336875915527344, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__pin_promotion_history_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T22:37:01.045202Z", "completed_at": "2022-06-30T22:37:01.050862Z"}, {"name": "execute", "started_at": "2022-06-30T22:37:01.053775Z", "completed_at": "2022-06-30T22:37:01.053783Z"}], "thread_id": "Thread-2", "execution_time": 0.009990930557250977, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__pin_promotion_report_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T22:37:01.050802Z", "completed_at": "2022-06-30T22:37:01.053680Z"}, {"name": "execute", "started_at": "2022-06-30T22:37:01.054624Z", "completed_at": "2022-06-30T22:37:01.054628Z"}], "thread_id": "Thread-3", "execution_time": 0.005068063735961914, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.pinterest_source_integration_tests.ad_group_history_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T22:37:01.051017Z", "completed_at": "2022-06-30T22:37:01.054065Z"}, {"name": "execute", "started_at": "2022-06-30T22:37:01.054964Z", "completed_at": "2022-06-30T22:37:01.054968Z"}], "thread_id": "Thread-1", "execution_time": 0.005112886428833008, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.pinterest_source_integration_tests.ad_group_report_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T22:37:01.055691Z", "completed_at": "2022-06-30T22:37:01.059012Z"}, {"name": "execute", "started_at": "2022-06-30T22:37:01.060401Z", "completed_at": "2022-06-30T22:37:01.060407Z"}], "thread_id": "Thread-4", "execution_time": 0.006963014602661133, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.pinterest_source_integration_tests.advertiser_history_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T22:37:01.055989Z", "completed_at": "2022-06-30T22:37:01.059225Z"}, {"name": "execute", "started_at": "2022-06-30T22:37:01.061594Z", "completed_at": "2022-06-30T22:37:01.061600Z"}], "thread_id": "Thread-2", "execution_time": 0.006934642791748047, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.pinterest_source_integration_tests.advertiser_report_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T22:37:01.059162Z", "completed_at": "2022-06-30T22:37:01.061491Z"}, {"name": "execute", "started_at": "2022-06-30T22:37:01.062426Z", "completed_at": "2022-06-30T22:37:01.062429Z"}], "thread_id": "Thread-3", "execution_time": 0.0070002079010009766, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.pinterest_source_integration_tests.campaign_history_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T22:37:01.059379Z", "completed_at": "2022-06-30T22:37:01.061902Z"}, {"name": "execute", "started_at": "2022-06-30T22:37:01.062741Z", "completed_at": "2022-06-30T22:37:01.062745Z"}], "thread_id": "Thread-1", "execution_time": 0.005270957946777344, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.pinterest_source_integration_tests.campaign_report_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T22:37:01.063461Z", "completed_at": "2022-06-30T22:37:01.066069Z"}, {"name": "execute", "started_at": "2022-06-30T22:37:01.067452Z", "completed_at": "2022-06-30T22:37:01.067458Z"}], "thread_id": "Thread-4", "execution_time": 0.006970882415771484, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.pinterest_source_integration_tests.keyword_history_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T22:37:01.063770Z", "completed_at": "2022-06-30T22:37:01.066282Z"}, {"name": "execute", "started_at": "2022-06-30T22:37:01.069385Z", "completed_at": "2022-06-30T22:37:01.069390Z"}], "thread_id": "Thread-2", "execution_time": 0.0069942474365234375, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.pinterest_source_integration_tests.keyword_report_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T22:37:01.066211Z", "completed_at": "2022-06-30T22:37:01.069294Z"}, {"name": "execute", "started_at": "2022-06-30T22:37:01.070308Z", "completed_at": "2022-06-30T22:37:01.070312Z"}], "thread_id": "Thread-3", "execution_time": 0.00714111328125, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.pinterest_source_integration_tests.pin_promotion_history_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T22:37:01.066416Z", "completed_at": "2022-06-30T22:37:01.069677Z"}, {"name": "execute", "started_at": "2022-06-30T22:37:01.070652Z", "completed_at": "2022-06-30T22:37:01.070656Z"}], "thread_id": "Thread-1", "execution_time": 0.0062100887298583984, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.pinterest_source_integration_tests.pin_promotion_report_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T22:37:01.071382Z", "completed_at": "2022-06-30T22:37:01.344666Z"}, {"name": "execute", "started_at": "2022-06-30T22:37:01.344813Z", "completed_at": "2022-06-30T22:37:01.344819Z"}], "thread_id": "Thread-4", "execution_time": 0.2986290454864502, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__advertiser_report"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T22:37:01.081196Z", "completed_at": "2022-06-30T22:37:01.367745Z"}, {"name": "execute", "started_at": "2022-06-30T22:37:01.368073Z", "completed_at": "2022-06-30T22:37:01.368078Z"}], "thread_id": "Thread-1", "execution_time": 0.31636619567871094, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__ad_group_history"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T22:37:01.081004Z", "completed_at": "2022-06-30T22:37:01.376621Z"}, {"name": "execute", "started_at": "2022-06-30T22:37:01.376753Z", "completed_at": "2022-06-30T22:37:01.376757Z"}], "thread_id": "Thread-3", "execution_time": 0.3319869041442871, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__ad_group_report"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T22:37:01.071667Z", "completed_at": "2022-06-30T22:37:01.375259Z"}, {"name": "execute", "started_at": "2022-06-30T22:37:01.375981Z", "completed_at": "2022-06-30T22:37:01.375986Z"}], "thread_id": "Thread-2", "execution_time": 0.3328099250793457, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__advertiser_history"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T22:37:01.370049Z", "completed_at": "2022-06-30T22:37:01.632965Z"}, {"name": "execute", "started_at": "2022-06-30T22:37:01.633123Z", "completed_at": "2022-06-30T22:37:01.633131Z"}], "thread_id": "Thread-4", "execution_time": 0.2923579216003418, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__campaign_history"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T22:37:01.394424Z", "completed_at": "2022-06-30T22:37:01.646104Z"}, {"name": "execute", "started_at": "2022-06-30T22:37:01.646243Z", "completed_at": "2022-06-30T22:37:01.646247Z"}], "thread_id": "Thread-1", "execution_time": 0.2784140110015869, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__keyword_history"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T22:37:01.404500Z", "completed_at": "2022-06-30T22:37:01.672770Z"}, {"name": "execute", "started_at": "2022-06-30T22:37:01.674372Z", "completed_at": "2022-06-30T22:37:01.674377Z"}], "thread_id": "Thread-3", "execution_time": 0.2951352596282959, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__campaign_report"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T22:37:01.404574Z", "completed_at": "2022-06-30T22:37:01.678604Z"}, {"name": "execute", "started_at": "2022-06-30T22:37:01.679007Z", "completed_at": "2022-06-30T22:37:01.679012Z"}], "thread_id": "Thread-2", "execution_time": 0.30315685272216797, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__keyword_report"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T22:37:01.699793Z", "completed_at": "2022-06-30T22:37:01.707748Z"}, {"name": "execute", "started_at": "2022-06-30T22:37:01.708117Z", "completed_at": "2022-06-30T22:37:01.708121Z"}], "thread_id": "Thread-3", "execution_time": 0.01201009750366211, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_report_date_day__advertiser_id.e92ce8a9c0"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T22:37:01.708046Z", "completed_at": "2022-06-30T22:37:01.711907Z"}, {"name": "execute", "started_at": "2022-06-30T22:37:01.714065Z", "completed_at": "2022-06-30T22:37:01.714069Z"}], "thread_id": "Thread-2", "execution_time": 0.006640911102294922, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_report_advertiser_id.1b16ed73ff"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T22:37:01.711984Z", "completed_at": "2022-06-30T22:37:01.714543Z"}, {"name": "execute", "started_at": "2022-06-30T22:37:01.714813Z", "completed_at": "2022-06-30T22:37:01.714817Z"}], "thread_id": "Thread-3", "execution_time": 0.0055768489837646484, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_report_date_day.153bd03c95"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T22:37:01.714748Z", "completed_at": "2022-06-30T22:37:01.717723Z"}, {"name": "execute", "started_at": "2022-06-30T22:37:01.720392Z", "completed_at": "2022-06-30T22:37:01.720396Z"}], "thread_id": "Thread-2", "execution_time": 0.006125211715698242, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_history_ad_group_id___fivetran_synced.1132e1f339"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T22:37:01.717791Z", "completed_at": "2022-06-30T22:37:01.720884Z"}, {"name": "execute", "started_at": "2022-06-30T22:37:01.721165Z", "completed_at": "2022-06-30T22:37:01.721168Z"}], "thread_id": "Thread-3", "execution_time": 0.006006002426147461, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_history_ad_group_id.220c6220be"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T22:37:01.721102Z", "completed_at": "2022-06-30T22:37:01.723924Z"}, {"name": "execute", "started_at": "2022-06-30T22:37:01.724192Z", "completed_at": "2022-06-30T22:37:01.724196Z"}], "thread_id": "Thread-2", "execution_time": 0.0058901309967041016, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_report_date_day__ad_group_id.959c0f8422"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T22:37:01.724129Z", "completed_at": "2022-06-30T22:37:01.727107Z"}, {"name": "execute", "started_at": "2022-06-30T22:37:01.729203Z", "completed_at": "2022-06-30T22:37:01.729207Z"}], "thread_id": "Thread-3", "execution_time": 0.005558013916015625, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_history_updated_at__advertiser_id.94e8f4de4b"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T22:37:01.727175Z", "completed_at": "2022-06-30T22:37:01.729549Z"}, {"name": "execute", "started_at": "2022-06-30T22:37:01.729879Z", "completed_at": "2022-06-30T22:37:01.729882Z"}], "thread_id": "Thread-2", "execution_time": 0.0031299591064453125, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_report_ad_group_id.bb8cf3c471"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T22:37:01.729948Z", "completed_at": "2022-06-30T22:37:01.732398Z"}, {"name": "execute", "started_at": "2022-06-30T22:37:01.734447Z", "completed_at": "2022-06-30T22:37:01.734452Z"}], "thread_id": "Thread-3", "execution_time": 0.004980802536010742, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_report_date_day.80e8904c4c"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T22:37:01.732352Z", "completed_at": "2022-06-30T22:37:01.734760Z"}, {"name": "execute", "started_at": "2022-06-30T22:37:01.735112Z", "completed_at": "2022-06-30T22:37:01.735115Z"}], "thread_id": "Thread-2", "execution_time": 0.0031461715698242188, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_history_advertiser_id.7d24f665fb"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T22:37:01.735182Z", "completed_at": "2022-06-30T22:37:01.763860Z"}, {"name": "execute", "started_at": "2022-06-30T22:37:01.764071Z", "completed_at": "2022-06-30T22:37:01.764076Z"}], "thread_id": "Thread-3", "execution_time": 0.02936697006225586, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_history_campaign_id___fivetran_synced.eff7196b87"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T22:37:01.761724Z", "completed_at": "2022-06-30T22:37:01.764383Z"}, {"name": "execute", "started_at": "2022-06-30T22:37:01.764698Z", "completed_at": "2022-06-30T22:37:01.764701Z"}], "thread_id": "Thread-2", "execution_time": 0.003426790237426758, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__campaign_history_campaign_id.60cb10d341"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T22:37:01.764763Z", "completed_at": "2022-06-30T22:37:01.767729Z"}, {"name": "execute", "started_at": "2022-06-30T22:37:01.769806Z", "completed_at": "2022-06-30T22:37:01.769811Z"}], "thread_id": "Thread-3", "execution_time": 0.005486249923706055, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_history_keyword_id___fivetran_synced.e73fb0a4db"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T22:37:01.767683Z", "completed_at": "2022-06-30T22:37:01.770111Z"}, {"name": "execute", "started_at": "2022-06-30T22:37:01.770431Z", "completed_at": "2022-06-30T22:37:01.770434Z"}], "thread_id": "Thread-2", "execution_time": 0.0031380653381347656, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__keyword_history_keyword_id.246889377a"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T22:37:01.770501Z", "completed_at": "2022-06-30T22:37:01.773377Z"}, {"name": "execute", "started_at": "2022-06-30T22:37:01.775381Z", "completed_at": "2022-06-30T22:37:01.775385Z"}], "thread_id": "Thread-3", "execution_time": 0.005347728729248047, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_report_date_day__campaign_id.968175d475"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T22:37:01.773332Z", "completed_at": "2022-06-30T22:37:01.775609Z"}, {"name": "execute", "started_at": "2022-06-30T22:37:01.775951Z", "completed_at": "2022-06-30T22:37:01.775955Z"}], "thread_id": "Thread-2", "execution_time": 0.003004789352416992, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__campaign_report_campaign_id.a287eba0fc"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T22:37:01.776214Z", "completed_at": "2022-06-30T22:37:01.781558Z"}, {"name": "execute", "started_at": "2022-06-30T22:37:01.781728Z", "completed_at": "2022-06-30T22:37:01.781732Z"}], "thread_id": "Thread-3", "execution_time": 0.006029844284057617, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__campaign_report_date_day.7ef5fb1238"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T22:37:01.779194Z", "completed_at": "2022-06-30T22:37:01.781926Z"}, {"name": "execute", "started_at": "2022-06-30T22:37:01.782274Z", "completed_at": "2022-06-30T22:37:01.782277Z"}], "thread_id": "Thread-2", "execution_time": 0.003492116928100586, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_report_date_day__keyword_id.fe6a646a5a"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T22:37:01.782527Z", "completed_at": "2022-06-30T22:37:01.784757Z"}, {"name": "execute", "started_at": "2022-06-30T22:37:01.786765Z", "completed_at": "2022-06-30T22:37:01.786769Z"}], "thread_id": "Thread-3", "execution_time": 0.004743814468383789, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__keyword_report_date_day.9937216300"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T22:37:01.784703Z", "completed_at": "2022-06-30T22:37:01.786994Z"}, {"name": "execute", "started_at": "2022-06-30T22:37:01.787154Z", "completed_at": "2022-06-30T22:37:01.787158Z"}], "thread_id": "Thread-2", "execution_time": 0.0027992725372314453, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__keyword_report_keyword_id.5f00679c48"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T22:37:01.662660Z", "completed_at": "2022-06-30T22:37:01.957746Z"}, {"name": "execute", "started_at": "2022-06-30T22:37:01.957879Z", "completed_at": "2022-06-30T22:37:01.957883Z"}], "thread_id": "Thread-4", "execution_time": 0.3218350410461426, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__pin_promotion_history"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T22:37:01.674804Z", "completed_at": "2022-06-30T22:37:01.950150Z"}, {"name": "execute", "started_at": "2022-06-30T22:37:01.957336Z", "completed_at": "2022-06-30T22:37:01.957343Z"}], "thread_id": "Thread-1", "execution_time": 0.3104519844055176, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__pin_promotion_report"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T22:37:01.985813Z", "completed_at": "2022-06-30T22:37:01.996114Z"}, {"name": "execute", "started_at": "2022-06-30T22:37:01.996564Z", "completed_at": "2022-06-30T22:37:01.996570Z"}], "thread_id": "Thread-3", "execution_time": 0.011971712112426758, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_history__fivetran_synced__pin_promotion_id.8e9ab31ea9"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T22:37:01.985951Z", "completed_at": "2022-06-30T22:37:01.996223Z"}, {"name": "execute", "started_at": "2022-06-30T22:37:01.996724Z", "completed_at": "2022-06-30T22:37:01.996728Z"}], "thread_id": "Thread-2", "execution_time": 0.011963844299316406, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_report_date_day__pin_promotion_id.f30a887f4d"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T22:37:01.986013Z", "completed_at": "2022-06-30T22:37:01.996347Z"}, {"name": "execute", "started_at": "2022-06-30T22:37:01.997024Z", "completed_at": "2022-06-30T22:37:01.997026Z"}], "thread_id": "Thread-4", "execution_time": 0.012164831161499023, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_history_pin_promotion_id.171995cd34"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T22:37:01.989358Z", "completed_at": "2022-06-30T22:37:01.996488Z"}, {"name": "execute", "started_at": "2022-06-30T22:37:01.997247Z", "completed_at": "2022-06-30T22:37:01.997251Z"}], "thread_id": "Thread-1", "execution_time": 0.012139081954956055, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_report_date_day.ed272212a1"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-06-30T22:37:01.998061Z", "completed_at": "2022-06-30T22:37:02.000311Z"}, {"name": "execute", "started_at": "2022-06-30T22:37:02.000454Z", "completed_at": "2022-06-30T22:37:02.000458Z"}], "thread_id": "Thread-3", "execution_time": 0.002805948257446289, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_report_pin_promotion_id.9c3c9f71ab"}], "elapsed_time": 1.7644829750061035, "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.0.4", "generated_at": "2022-07-20T15:53:17.068847Z", "invocation_id": "054d9dd6-c78c-4076-aa46-85ad14890e03", "env": {}}, "results": [{"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T15:53:15.910346Z", "completed_at": "2022-07-20T15:53:15.922141Z"}, {"name": "execute", "started_at": "2022-07-20T15:53:15.923300Z", "completed_at": "2022-07-20T15:53:15.923313Z"}], "thread_id": "Thread-3", "execution_time": 0.014761924743652344, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__advertiser_history_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T15:53:15.910144Z", "completed_at": "2022-07-20T15:53:15.922012Z"}, {"name": "execute", "started_at": "2022-07-20T15:53:15.923463Z", "completed_at": "2022-07-20T15:53:15.923469Z"}], "thread_id": "Thread-1", "execution_time": 0.015462160110473633, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__ad_group_history_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T15:53:15.910439Z", "completed_at": "2022-07-20T15:53:15.923174Z"}, {"name": "execute", "started_at": "2022-07-20T15:53:15.924422Z", "completed_at": "2022-07-20T15:53:15.924427Z"}], "thread_id": "Thread-4", "execution_time": 0.015619993209838867, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__advertiser_report_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T15:53:15.910250Z", "completed_at": "2022-07-20T15:53:15.922250Z"}, {"name": "execute", "started_at": "2022-07-20T15:53:15.924523Z", "completed_at": "2022-07-20T15:53:15.924527Z"}], "thread_id": "Thread-2", "execution_time": 0.016190290451049805, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__ad_group_report_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T15:53:15.926724Z", "completed_at": "2022-07-20T15:53:15.935893Z"}, {"name": "execute", "started_at": "2022-07-20T15:53:15.936573Z", "completed_at": "2022-07-20T15:53:15.936579Z"}], "thread_id": "Thread-1", "execution_time": 0.01141667366027832, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__campaign_report_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T15:53:15.926639Z", "completed_at": "2022-07-20T15:53:15.936003Z"}, {"name": "execute", "started_at": "2022-07-20T15:53:15.936657Z", "completed_at": "2022-07-20T15:53:15.936662Z"}], "thread_id": "Thread-3", "execution_time": 0.011871099472045898, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__campaign_history_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T15:53:15.931552Z", "completed_at": "2022-07-20T15:53:15.936425Z"}, {"name": "execute", "started_at": "2022-07-20T15:53:15.937414Z", "completed_at": "2022-07-20T15:53:15.937420Z"}], "thread_id": "Thread-4", "execution_time": 0.011736154556274414, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__keyword_history_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T15:53:15.931664Z", "completed_at": "2022-07-20T15:53:15.936483Z"}, {"name": "execute", "started_at": "2022-07-20T15:53:15.937514Z", "completed_at": "2022-07-20T15:53:15.937517Z"}], "thread_id": "Thread-2", "execution_time": 0.01175689697265625, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__keyword_report_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T15:53:15.943689Z", "completed_at": "2022-07-20T15:53:15.946718Z"}, {"name": "execute", "started_at": "2022-07-20T15:53:15.947322Z", "completed_at": "2022-07-20T15:53:15.947328Z"}], "thread_id": "Thread-4", "execution_time": 0.008558988571166992, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.pinterest_source_integration_tests.ad_group_history_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T15:53:15.943797Z", "completed_at": "2022-07-20T15:53:15.946808Z"}, {"name": "execute", "started_at": "2022-07-20T15:53:15.947395Z", "completed_at": "2022-07-20T15:53:15.947398Z"}], "thread_id": "Thread-2", "execution_time": 0.008583307266235352, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.pinterest_source_integration_tests.ad_group_report_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T15:53:15.939481Z", "completed_at": "2022-07-20T15:53:15.946870Z"}, {"name": "execute", "started_at": "2022-07-20T15:53:15.947465Z", "completed_at": "2022-07-20T15:53:15.947467Z"}], "thread_id": "Thread-3", "execution_time": 0.009491920471191406, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__pin_promotion_report_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T15:53:15.939404Z", "completed_at": "2022-07-20T15:53:15.946938Z"}, {"name": "execute", "started_at": "2022-07-20T15:53:15.947535Z", "completed_at": "2022-07-20T15:53:15.947538Z"}], "thread_id": "Thread-1", "execution_time": 0.009790182113647461, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__pin_promotion_history_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T15:53:15.949500Z", "completed_at": "2022-07-20T15:53:15.953050Z"}, {"name": "execute", "started_at": "2022-07-20T15:53:15.953580Z", "completed_at": "2022-07-20T15:53:15.953584Z"}], "thread_id": "Thread-4", "execution_time": 0.005135059356689453, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.pinterest_source_integration_tests.advertiser_history_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T15:53:15.949566Z", "completed_at": "2022-07-20T15:53:15.953123Z"}, {"name": "execute", "started_at": "2022-07-20T15:53:15.953645Z", "completed_at": "2022-07-20T15:53:15.953648Z"}], "thread_id": "Thread-2", "execution_time": 0.005132198333740234, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.pinterest_source_integration_tests.advertiser_report_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T15:53:15.949628Z", "completed_at": "2022-07-20T15:53:15.953193Z"}, {"name": "execute", "started_at": "2022-07-20T15:53:15.953707Z", "completed_at": "2022-07-20T15:53:15.953710Z"}], "thread_id": "Thread-3", "execution_time": 0.005136013031005859, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.pinterest_source_integration_tests.campaign_history_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T15:53:15.949689Z", "completed_at": "2022-07-20T15:53:15.953257Z"}, {"name": "execute", "started_at": "2022-07-20T15:53:15.953769Z", "completed_at": "2022-07-20T15:53:15.953771Z"}], "thread_id": "Thread-1", "execution_time": 0.0051310062408447266, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.pinterest_source_integration_tests.campaign_report_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T15:53:15.955475Z", "completed_at": "2022-07-20T15:53:15.959977Z"}, {"name": "execute", "started_at": "2022-07-20T15:53:15.960517Z", "completed_at": "2022-07-20T15:53:15.960521Z"}], "thread_id": "Thread-4", "execution_time": 0.0060999393463134766, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.pinterest_source_integration_tests.keyword_history_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T15:53:15.955549Z", "completed_at": "2022-07-20T15:53:15.960057Z"}, {"name": "execute", "started_at": "2022-07-20T15:53:15.960581Z", "completed_at": "2022-07-20T15:53:15.960584Z"}], "thread_id": "Thread-2", "execution_time": 0.006131172180175781, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.pinterest_source_integration_tests.keyword_report_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T15:53:15.955706Z", "completed_at": "2022-07-20T15:53:15.960130Z"}, {"name": "execute", "started_at": "2022-07-20T15:53:15.960646Z", "completed_at": "2022-07-20T15:53:15.960648Z"}], "thread_id": "Thread-3", "execution_time": 0.006139993667602539, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.pinterest_source_integration_tests.pin_promotion_history_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T15:53:15.955838Z", "completed_at": "2022-07-20T15:53:15.960201Z"}, {"name": "execute", "started_at": "2022-07-20T15:53:15.960706Z", "completed_at": "2022-07-20T15:53:15.960708Z"}], "thread_id": "Thread-1", "execution_time": 0.00614619255065918, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.pinterest_source_integration_tests.pin_promotion_report_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T15:53:15.962439Z", "completed_at": "2022-07-20T15:53:16.315505Z"}, {"name": "execute", "started_at": "2022-07-20T15:53:16.315870Z", "completed_at": "2022-07-20T15:53:16.315877Z"}], "thread_id": "Thread-2", "execution_time": 0.37964701652526855, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__ad_group_history"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T15:53:15.962376Z", "completed_at": "2022-07-20T15:53:16.318037Z"}, {"name": "execute", "started_at": "2022-07-20T15:53:16.318619Z", "completed_at": "2022-07-20T15:53:16.318624Z"}], "thread_id": "Thread-4", "execution_time": 0.38561582565307617, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__advertiser_history"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T15:53:15.962497Z", "completed_at": "2022-07-20T15:53:16.320935Z"}, {"name": "execute", "started_at": "2022-07-20T15:53:16.321516Z", "completed_at": "2022-07-20T15:53:16.321521Z"}], "thread_id": "Thread-3", "execution_time": 0.38663196563720703, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__advertiser_report"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T15:53:15.962555Z", "completed_at": "2022-07-20T15:53:16.322334Z"}, {"name": "execute", "started_at": "2022-07-20T15:53:16.322530Z", "completed_at": "2022-07-20T15:53:16.322535Z"}], "thread_id": "Thread-1", "execution_time": 0.3905620574951172, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__ad_group_report"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T15:53:16.342147Z", "completed_at": "2022-07-20T15:53:16.638739Z"}, {"name": "execute", "started_at": "2022-07-20T15:53:16.638987Z", "completed_at": "2022-07-20T15:53:16.638992Z"}], "thread_id": "Thread-2", "execution_time": 0.3206291198730469, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__campaign_report"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T15:53:16.353972Z", "completed_at": "2022-07-20T15:53:16.637094Z"}, {"name": "execute", "started_at": "2022-07-20T15:53:16.637646Z", "completed_at": "2022-07-20T15:53:16.637652Z"}], "thread_id": "Thread-3", "execution_time": 0.3093991279602051, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__keyword_history"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T15:53:16.348384Z", "completed_at": "2022-07-20T15:53:16.633119Z"}, {"name": "execute", "started_at": "2022-07-20T15:53:16.633928Z", "completed_at": "2022-07-20T15:53:16.633938Z"}], "thread_id": "Thread-4", "execution_time": 0.3384552001953125, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__campaign_history"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T15:53:16.693858Z", "completed_at": "2022-07-20T15:53:16.705296Z"}, {"name": "execute", "started_at": "2022-07-20T15:53:16.705680Z", "completed_at": "2022-07-20T15:53:16.705687Z"}], "thread_id": "Thread-4", "execution_time": 0.013876914978027344, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_history_ad_group_id___fivetran_synced.1132e1f339"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T15:53:16.706717Z", "completed_at": "2022-07-20T15:53:16.711066Z"}, {"name": "execute", "started_at": "2022-07-20T15:53:16.711245Z", "completed_at": "2022-07-20T15:53:16.711251Z"}], "thread_id": "Thread-4", "execution_time": 0.004977226257324219, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_history_ad_group_id.220c6220be"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T15:53:16.711939Z", "completed_at": "2022-07-20T15:53:16.715788Z"}, {"name": "execute", "started_at": "2022-07-20T15:53:16.715964Z", "completed_at": "2022-07-20T15:53:16.715969Z"}], "thread_id": "Thread-4", "execution_time": 0.00450897216796875, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_history_updated_at__advertiser_id.94e8f4de4b"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T15:53:16.716579Z", "completed_at": "2022-07-20T15:53:16.718968Z"}, {"name": "execute", "started_at": "2022-07-20T15:53:16.719116Z", "completed_at": "2022-07-20T15:53:16.719121Z"}], "thread_id": "Thread-4", "execution_time": 0.002886056900024414, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_history_advertiser_id.7d24f665fb"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T15:53:16.719681Z", "completed_at": "2022-07-20T15:53:16.722468Z"}, {"name": "execute", "started_at": "2022-07-20T15:53:16.722619Z", "completed_at": "2022-07-20T15:53:16.722623Z"}], "thread_id": "Thread-4", "execution_time": 0.00328826904296875, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_report_date_day__advertiser_id.e92ce8a9c0"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T15:53:16.723116Z", "completed_at": "2022-07-20T15:53:16.725219Z"}, {"name": "execute", "started_at": "2022-07-20T15:53:16.725362Z", "completed_at": "2022-07-20T15:53:16.725367Z"}], "thread_id": "Thread-4", "execution_time": 0.0025632381439208984, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_report_advertiser_id.1b16ed73ff"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T15:53:16.725868Z", "completed_at": "2022-07-20T15:53:16.727963Z"}, {"name": "execute", "started_at": "2022-07-20T15:53:16.728095Z", "completed_at": "2022-07-20T15:53:16.728099Z"}], "thread_id": "Thread-4", "execution_time": 0.002526998519897461, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_report_date_day.153bd03c95"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T15:53:16.728551Z", "completed_at": "2022-07-20T15:53:16.731074Z"}, {"name": "execute", "started_at": "2022-07-20T15:53:16.731210Z", "completed_at": "2022-07-20T15:53:16.731214Z"}], "thread_id": "Thread-4", "execution_time": 0.0029458999633789062, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_report_date_day__ad_group_id__advertiser_id.692e15663e"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T15:53:16.354055Z", "completed_at": "2022-07-20T15:53:16.705398Z"}, {"name": "execute", "started_at": "2022-07-20T15:53:16.705783Z", "completed_at": "2022-07-20T15:53:16.705788Z"}], "thread_id": "Thread-1", "execution_time": 0.3808150291442871, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__keyword_report"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T15:53:16.731668Z", "completed_at": "2022-07-20T15:53:16.734244Z"}, {"name": "execute", "started_at": "2022-07-20T15:53:16.734677Z", "completed_at": "2022-07-20T15:53:16.734680Z"}], "thread_id": "Thread-4", "execution_time": 0.0034360885620117188, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_report_ad_group_id.bb8cf3c471"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T15:53:16.735182Z", "completed_at": "2022-07-20T15:53:16.739760Z"}, {"name": "execute", "started_at": "2022-07-20T15:53:16.739921Z", "completed_at": "2022-07-20T15:53:16.739925Z"}], "thread_id": "Thread-1", "execution_time": 0.0053598880767822266, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_report_date_day.80e8904c4c"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T15:53:16.737337Z", "completed_at": "2022-07-20T15:53:16.739974Z"}, {"name": "execute", "started_at": "2022-07-20T15:53:16.740366Z", "completed_at": "2022-07-20T15:53:16.740369Z"}], "thread_id": "Thread-4", "execution_time": 0.005352973937988281, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_report_date_day__campaign_id__advertiser_id.ff47cb8abc"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T15:53:16.740839Z", "completed_at": "2022-07-20T15:53:16.744764Z"}, {"name": "execute", "started_at": "2022-07-20T15:53:16.744931Z", "completed_at": "2022-07-20T15:53:16.744935Z"}], "thread_id": "Thread-1", "execution_time": 0.0046842098236083984, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__campaign_report_campaign_id.a287eba0fc"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T15:53:16.742949Z", "completed_at": "2022-07-20T15:53:16.744984Z"}, {"name": "execute", "started_at": "2022-07-20T15:53:16.745371Z", "completed_at": "2022-07-20T15:53:16.745374Z"}], "thread_id": "Thread-4", "execution_time": 0.0047109127044677734, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__campaign_report_date_day.7ef5fb1238"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T15:53:16.745862Z", "completed_at": "2022-07-20T15:53:16.750934Z"}, {"name": "execute", "started_at": "2022-07-20T15:53:16.751170Z", "completed_at": "2022-07-20T15:53:16.751174Z"}], "thread_id": "Thread-1", "execution_time": 0.006003856658935547, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_history_keyword_id__ad_group_id___fivetran_synced.d122faa877"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T15:53:16.748544Z", "completed_at": "2022-07-20T15:53:16.751098Z"}, {"name": "execute", "started_at": "2022-07-20T15:53:16.751548Z", "completed_at": "2022-07-20T15:53:16.751551Z"}], "thread_id": "Thread-4", "execution_time": 0.005876302719116211, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__keyword_history_keyword_id.246889377a"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T15:53:16.752290Z", "completed_at": "2022-07-20T15:53:16.778380Z"}, {"name": "execute", "started_at": "2022-07-20T15:53:16.778527Z", "completed_at": "2022-07-20T15:53:16.778533Z"}], "thread_id": "Thread-1", "execution_time": 0.026829957962036133, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_history_campaign_id___fivetran_synced.eff7196b87"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T15:53:16.776296Z", "completed_at": "2022-07-20T15:53:16.781707Z"}, {"name": "execute", "started_at": "2022-07-20T15:53:16.781927Z", "completed_at": "2022-07-20T15:53:16.781931Z"}], "thread_id": "Thread-4", "execution_time": 0.02988910675048828, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__campaign_history_campaign_id.60cb10d341"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T15:53:16.779068Z", "completed_at": "2022-07-20T15:53:16.782123Z"}, {"name": "execute", "started_at": "2022-07-20T15:53:16.782491Z", "completed_at": "2022-07-20T15:53:16.782495Z"}], "thread_id": "Thread-1", "execution_time": 0.0038030147552490234, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_report_date_day__keyword_id__ad_group_id__campaign_id__advertiser_id.3ac101cc13"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T15:53:16.782761Z", "completed_at": "2022-07-20T15:53:16.786820Z"}, {"name": "execute", "started_at": "2022-07-20T15:53:16.787004Z", "completed_at": "2022-07-20T15:53:16.787009Z"}], "thread_id": "Thread-4", "execution_time": 0.004828929901123047, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__keyword_report_date_day.9937216300"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T15:53:16.784968Z", "completed_at": "2022-07-20T15:53:16.787070Z"}, {"name": "execute", "started_at": "2022-07-20T15:53:16.787404Z", "completed_at": "2022-07-20T15:53:16.787407Z"}], "thread_id": "Thread-1", "execution_time": 0.0027778148651123047, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__keyword_report_keyword_id.5f00679c48"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T15:53:16.664526Z", "completed_at": "2022-07-20T15:53:17.019228Z"}, {"name": "execute", "started_at": "2022-07-20T15:53:17.019507Z", "completed_at": "2022-07-20T15:53:17.019512Z"}], "thread_id": "Thread-2", "execution_time": 0.38277697563171387, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__pin_promotion_report"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T15:53:16.664657Z", "completed_at": "2022-07-20T15:53:17.019882Z"}, {"name": "execute", "started_at": "2022-07-20T15:53:17.020047Z", "completed_at": "2022-07-20T15:53:17.020050Z"}], "thread_id": "Thread-3", "execution_time": 0.3826451301574707, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__pin_promotion_history"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T15:53:17.048421Z", "completed_at": "2022-07-20T15:53:17.062065Z"}, {"name": "execute", "started_at": "2022-07-20T15:53:17.062513Z", "completed_at": "2022-07-20T15:53:17.062525Z"}], "thread_id": "Thread-4", "execution_time": 0.015775203704833984, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_report_date_day__pin_promotion_id__ad_group_id__campaign_id__advertiser_id.7ea04e6024"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T15:53:17.048690Z", "completed_at": "2022-07-20T15:53:17.062377Z"}, {"name": "execute", "started_at": "2022-07-20T15:53:17.063205Z", "completed_at": "2022-07-20T15:53:17.063209Z"}], "thread_id": "Thread-1", "execution_time": 0.0159759521484375, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_report_date_day.ed272212a1"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T15:53:17.053362Z", "completed_at": "2022-07-20T15:53:17.062603Z"}, {"name": "execute", "started_at": "2022-07-20T15:53:17.063420Z", "completed_at": "2022-07-20T15:53:17.063424Z"}], "thread_id": "Thread-3", "execution_time": 0.015803098678588867, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_history__fivetran_synced__pin_promotion_id.8e9ab31ea9"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T15:53:17.053251Z", "completed_at": "2022-07-20T15:53:17.062685Z"}, {"name": "execute", "started_at": "2022-07-20T15:53:17.063514Z", "completed_at": "2022-07-20T15:53:17.063516Z"}], "thread_id": "Thread-2", "execution_time": 0.01611804962158203, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_report_pin_promotion_id.9c3c9f71ab"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T15:53:17.064405Z", "completed_at": "2022-07-20T15:53:17.067736Z"}, {"name": "execute", "started_at": "2022-07-20T15:53:17.067895Z", "completed_at": "2022-07-20T15:53:17.067900Z"}], "thread_id": "Thread-4", "execution_time": 0.00426793098449707, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_history_pin_promotion_id.171995cd34"}], "elapsed_time": 1.8264219760894775, "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 diff --git a/models/docs.md b/models/docs.md index e5a79ab..d563e00 100644 --- a/models/docs.md +++ b/models/docs.md @@ -12,9 +12,9 @@ {% docs advertiser_id %} The ID of the related Advertiser. {% enddocs %} -{% docs impressions %} The number of impressions that occurred on the day of the record. {% enddocs %} +{% docs impressions %} The number of paid and earned impressions that occurred on the day of the record. {% enddocs %} -{% docs clicks %} The number of clicks that occurred on the day of the record. {% enddocs %} +{% docs clicks %} The number of paid and earned clicks that occurred on the day of the record. {% enddocs %} {% docs spend %} The amount of spend that occurred on the day of the record. {% enddocs %} diff --git a/models/src_pinterest_ads.yml b/models/src_pinterest_ads.yml index 1fe4859..0686b26 100644 --- a/models/src_pinterest_ads.yml +++ b/models/src_pinterest_ads.yml @@ -103,7 +103,7 @@ sources: description: "{{ doc('_fivetran_synced') }}" - name: ad_group_report - description: source table + description: Each record represents the daily performance of a Pinterest ad group. identifier: "{{ var('pinterest_ad_group_report_identifier', 'ad_group_report') }}" columns: - name: date @@ -132,7 +132,7 @@ sources: description: "{{ doc('spend_in_micro_dollar') }}" - name: advertiser_history - description: source table + description: Each record represents a version of a Pinterest advertiser. identifier: "{{ var('pinterest_advertiser_history_identifier', 'advertiser_history') }}" columns: - name: id @@ -161,7 +161,7 @@ sources: description: "{{ doc('_fivetran_synced') }}" - name: advertiser_report - description: source table + description: Each record represents the daily performance of a Pinterest advertiser. identifier: "{{ var('pinterest_advertiser_report_identifier', 'advertiser_report') }}" columns: - name: date @@ -182,7 +182,7 @@ sources: description: "{{ doc('spend_in_micro_dollar') }}" - name: campaign_report - description: source table + description: Each record represents the daily performance of a Pinterest campaign. identifier: "{{ var('pinterest_campaign_report_identifier', 'campaign_report') }}" columns: - name: date @@ -209,7 +209,7 @@ sources: description: "{{ doc('spend_in_micro_dollar') }}" - name: keyword_history - description: source table + description: Each record represents a version of a Pinterest keyword. identifier: "{{ var('pinterest_keyword_history_identifier', 'keyword_history') }}" columns: - name: id @@ -236,7 +236,7 @@ sources: description: Identifier of what grain the parent type is. Ad group or campaign. - name: keyword_report - description: source table + description: Each record represents the daily performance of a Pinterest key word. identifier: "{{ var('pinterest_keyword_report_identifier', 'keyword_report') }}" columns: - name: date diff --git a/models/stg_pinterest_ads.yml b/models/stg_pinterest_ads.yml index 5f6bb3d..e114012 100644 --- a/models/stg_pinterest_ads.yml +++ b/models/stg_pinterest_ads.yml @@ -106,12 +106,15 @@ models: description: The utm_term parameter of the ad, extracted from the `destination_url`. - name: stg_pinterest_ads__pin_promotion_report - description: Each record represents the daily performance of a Pinterest Pin promotion. + description: Each record represents the daily performance of a Pinterest Pin promotion by ad group, campaign, and advertiser. tests: - dbt_utils.unique_combination_of_columns: combination_of_columns: - date_day - pin_promotion_id + - ad_group_id + - campaign_id + - advertiser_id columns: - name: date_day description: "{{ doc('date_day') }}" @@ -127,8 +130,6 @@ models: description: "{{ doc('campaign_id') }}" - name: advertiser_id description: "{{ doc('advertiser_id') }}" - - name: _fivetran_synced - description: "{{ doc('_fivetran_synced') }}" - name: impressions description: "{{ doc('impressions') }}" - name: clicks @@ -137,12 +138,13 @@ models: description: "{{ doc('spend') }}" - name: stg_pinterest_ads__ad_group_report - description: Each record represents the daily performance of a Pinterest Ad Groups. + description: Each record represents the daily performance of a Pinterest Ad Groups by advertiser. tests: - dbt_utils.unique_combination_of_columns: combination_of_columns: - date_day - ad_group_id + - advertiser_id columns: - name: date_day description: "{{ doc('date_day') }}" @@ -160,8 +162,6 @@ models: description: "{{ doc('campaign_id') }}" - name: advertiser_id description: "{{ doc('advertiser_id') }}" - - name: _fivetran_synced - description: "{{ doc('_fivetran_synced') }}" - name: impressions description: "{{ doc('impressions') }}" - name: clicks @@ -201,8 +201,6 @@ models: description: Unique identifier of the owner user. - name: updated_at description: "{{ doc('updated_at') }}" - - name: _fivetran_synced - description: "{{ doc('_fivetran_synced') }}" - name: is_most_recent_record description: "{{ doc('is_most_recent_record') }}" @@ -222,8 +220,6 @@ models: description: "{{ doc('advertiser_id') }}" tests: - not_null - - name: _fivetran_synced - description: "{{ doc('_fivetran_synced') }}" - name: impressions description: "{{ doc('impressions') }}" - name: clicks @@ -232,12 +228,13 @@ models: description: "{{ doc('spend') }}" - name: stg_pinterest_ads__campaign_report - description: Each record represents the daily performance of Campaigns. + description: Each record represents the daily performance of Campaigns by advertiser. tests: - dbt_utils.unique_combination_of_columns: combination_of_columns: - date_day - campaign_id + - advertiser_id columns: - name: date_day description: "{{ doc('date_day') }}" @@ -253,8 +250,6 @@ models: description: Status of the campaign. - name: advertiser_id description: "{{ doc('advertiser_id') }}" - - name: _fivetran_synced - description: "{{ doc('_fivetran_synced') }}" - name: impressions description: "{{ doc('impressions') }}" - name: clicks @@ -299,12 +294,15 @@ models: description: "{{ doc('is_most_recent_record') }}" - name: stg_pinterest_ads__keyword_report - description: Each record represents the daily performance of Keywords. + description: Each record represents the daily performance of Keywords by ad group, campaign, and advertiser. tests: - dbt_utils.unique_combination_of_columns: combination_of_columns: - date_day - keyword_id + - ad_group_id + - campaign_id + - advertiser_id columns: - name: date_day description: "{{ doc('date_day') }}" @@ -326,8 +324,6 @@ models: description: "{{ doc('campaign_id') }}" - name: advertiser_id description: "{{ doc('advertiser_id') }}" - - name: _fivetran_synced - description: "{{ doc('_fivetran_synced') }}" - name: impressions description: "{{ doc('impressions') }}" - name: clicks diff --git a/models/stg_pinterest_ads__ad_group_report.sql b/models/stg_pinterest_ads__ad_group_report.sql index a816e34..aa3f05f 100644 --- a/models/stg_pinterest_ads__ad_group_report.sql +++ b/models/stg_pinterest_ads__ad_group_report.sql @@ -26,7 +26,6 @@ final as ( ad_group_status, campaign_id, advertiser_id, - _fivetran_synced, coalesce(impression_1,0) + coalesce(impression_2,0) as impressions, coalesce(clickthrough_1,0) + coalesce(clickthrough_2,0) as clicks, spend_in_micro_dollar / 1000000.0 as spend diff --git a/models/stg_pinterest_ads__advertiser_history.sql b/models/stg_pinterest_ads__advertiser_history.sql index 1bc38e1..49a75e4 100644 --- a/models/stg_pinterest_ads__advertiser_history.sql +++ b/models/stg_pinterest_ads__advertiser_history.sql @@ -30,8 +30,7 @@ final as ( currency as currency_code, merchant_id, owner_user_id, - updated_time as updated_at, - _fivetran_synced + updated_time as updated_at from fields ), diff --git a/models/stg_pinterest_ads__advertiser_report.sql b/models/stg_pinterest_ads__advertiser_report.sql index 0fdbd7a..f371e9f 100644 --- a/models/stg_pinterest_ads__advertiser_report.sql +++ b/models/stg_pinterest_ads__advertiser_report.sql @@ -22,7 +22,6 @@ final as ( select date as date_day, advertiser_id, - _fivetran_synced, coalesce(impression_1,0) + coalesce(impression_2,0) as impressions, coalesce(clickthrough_1,0) + coalesce(clickthrough_2,0) as clicks, spend_in_micro_dollar / 1000000.0 as spend diff --git a/models/stg_pinterest_ads__campaign_report.sql b/models/stg_pinterest_ads__campaign_report.sql index 1ee5397..a4bd32e 100644 --- a/models/stg_pinterest_ads__campaign_report.sql +++ b/models/stg_pinterest_ads__campaign_report.sql @@ -25,7 +25,6 @@ final as ( campaign_name, campaign_status, advertiser_id, - _fivetran_synced, coalesce(impression_1,0) + coalesce(impression_2,0) as impressions, coalesce(clickthrough_1,0) + coalesce(clickthrough_2,0) as clicks, spend_in_micro_dollar / 1000000.0 as spend diff --git a/models/stg_pinterest_ads__keyword_report.sql b/models/stg_pinterest_ads__keyword_report.sql index b4ab3ee..51f90c4 100644 --- a/models/stg_pinterest_ads__keyword_report.sql +++ b/models/stg_pinterest_ads__keyword_report.sql @@ -28,7 +28,6 @@ final as ( ad_group_status, campaign_id, advertiser_id, - _fivetran_synced, coalesce(impression_1,0) + coalesce(impression_2,0) as impressions, coalesce(clickthrough_1,0) + coalesce(clickthrough_2,0) as clicks, spend_in_micro_dollar / 1000000.0 as spend diff --git a/models/stg_pinterest_ads__pin_promotion_report.sql b/models/stg_pinterest_ads__pin_promotion_report.sql index dc9fe25..6fc48cc 100644 --- a/models/stg_pinterest_ads__pin_promotion_report.sql +++ b/models/stg_pinterest_ads__pin_promotion_report.sql @@ -24,7 +24,6 @@ final as ( ad_group_id, campaign_id, advertiser_id, - _fivetran_synced, coalesce(impression_1,0) + coalesce(impression_2,0) as impressions, coalesce(clickthrough_1,0) + coalesce(clickthrough_2,0) as clicks, spend_in_micro_dollar / 1000000.0 as spend From 14b521c15053a0e0ea73f80ede76c254c25c73e0 Mon Sep 17 00:00:00 2001 From: fivetran-joemarkiewicz Date: Wed, 20 Jul 2022 14:21:58 -0500 Subject: [PATCH 08/15] after review notes update and docs generation --- docs/catalog.json | 2 +- docs/manifest.json | 2 +- docs/run_results.json | 2 +- models/stg_pinterest_ads.yml | 3 ++- 4 files changed, 5 insertions(+), 4 deletions(-) diff --git a/docs/catalog.json b/docs/catalog.json index e640d11..f84c6a0 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-07-20T15:53:17.460932Z", "invocation_id": "054d9dd6-c78c-4076-aa46-85ad14890e03", "env": {}}, "nodes": {"seed.pinterest_source_integration_tests.ad_group_history_data": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "ad_group_history_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "campaign_id": {"type": "bigint", "index": 2, "name": "campaign_id", "comment": null}, "created_time": {"type": "text", "index": 3, "name": "created_time", "comment": null}, "name": {"type": "text", "index": 4, "name": "name", "comment": null}, "status": {"type": "text", "index": 5, "name": "status", "comment": null}, "start_time": {"type": "text", "index": 6, "name": "start_time", "comment": null}, "end_time": {"type": "integer", "index": 7, "name": "end_time", "comment": null}, "_fivetran_synced": {"type": "text", "index": 8, "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.pinterest_source_integration_tests.ad_group_history_data"}, "seed.pinterest_source_integration_tests.ad_group_report_data": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "ad_group_report_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"ad_group_id": {"type": "bigint", "index": 1, "name": "ad_group_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 2, "name": "advertiser_id", "comment": null}, "date": {"type": "timestamp without time zone", "index": 3, "name": "date", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 4, "name": "_fivetran_synced", "comment": null}, "ad_group_name": {"type": "text", "index": 5, "name": "ad_group_name", "comment": null}, "ad_group_status": {"type": "text", "index": 6, "name": "ad_group_status", "comment": null}, "campaign_daily_spend_cap": {"type": "integer", "index": 7, "name": "campaign_daily_spend_cap", "comment": null}, "campaign_id": {"type": "bigint", "index": 8, "name": "campaign_id", "comment": null}, "campaign_lifetime_spend_cap": {"type": "integer", "index": 9, "name": "campaign_lifetime_spend_cap", "comment": null}, "campaign_name": {"type": "text", "index": 10, "name": "campaign_name", "comment": null}, "campaign_status": {"type": "text", "index": 11, "name": "campaign_status", "comment": null}, "clickthrough_1": {"type": "integer", "index": 12, "name": "clickthrough_1", "comment": null}, "clickthrough_1_gross": {"type": "integer", "index": 13, "name": "clickthrough_1_gross", "comment": null}, "cpc_in_micro_dollar": {"type": "double precision", "index": 14, "name": "cpc_in_micro_dollar", "comment": null}, "cpm_in_micro_dollar": {"type": "double precision", "index": 15, "name": "cpm_in_micro_dollar", "comment": null}, "ctr": {"type": "double precision", "index": 16, "name": "ctr", "comment": null}, "ecpc_in_micro_dollar": {"type": "double precision", "index": 17, "name": "ecpc_in_micro_dollar", "comment": null}, "ecpm_in_micro_dollar": {"type": "double precision", "index": 18, "name": "ecpm_in_micro_dollar", "comment": null}, "ectr": {"type": "double precision", "index": 19, "name": "ectr", "comment": null}, "engagement_1": {"type": "integer", "index": 20, "name": "engagement_1", "comment": null}, "impression_1": {"type": "integer", "index": 21, "name": "impression_1", "comment": null}, "impression_1_gross": {"type": "integer", "index": 22, "name": "impression_1_gross", "comment": null}, "outbound_click_1": {"type": "integer", "index": 23, "name": "outbound_click_1", "comment": null}, "paid_impression": {"type": "integer", "index": 24, "name": "paid_impression", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 25, "name": "spend_in_micro_dollar", "comment": null}, "total_engagement": {"type": "integer", "index": 26, "name": "total_engagement", "comment": null}, "total_impression_frequency": {"type": "double precision", "index": 27, "name": "total_impression_frequency", "comment": null}, "total_impression_user": {"type": "integer", "index": 28, "name": "total_impression_user", "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.pinterest_source_integration_tests.ad_group_report_data"}, "seed.pinterest_source_integration_tests.advertiser_history_data": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "advertiser_history_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "updated_time": {"type": "timestamp without time zone", "index": 2, "name": "updated_time", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "billing_profile_status": {"type": "text", "index": 4, "name": "billing_profile_status", "comment": null}, "billing_type": {"type": "text", "index": 5, "name": "billing_type", "comment": null}, "country": {"type": "text", "index": 6, "name": "country", "comment": null}, "created_time": {"type": "timestamp without time zone", "index": 7, "name": "created_time", "comment": null}, "currency": {"type": "text", "index": 8, "name": "currency", "comment": null}, "merchant_id": {"type": "integer", "index": 9, "name": "merchant_id", "comment": null}, "name": {"type": "text", "index": 10, "name": "name", "comment": null}, "owner_user_id": {"type": "integer", "index": 11, "name": "owner_user_id", "comment": null}, "status": {"type": "text", "index": 12, "name": "status", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "seed.pinterest_source_integration_tests.advertiser_history_data"}, "seed.pinterest_source_integration_tests.advertiser_report_data": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "advertiser_report_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"advertiser_id": {"type": "bigint", "index": 1, "name": "advertiser_id", "comment": null}, "date": {"type": "timestamp without time zone", "index": 2, "name": "date", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "clickthrough_1": {"type": "integer", "index": 4, "name": "clickthrough_1", "comment": null}, "clickthrough_1_gross": {"type": "integer", "index": 5, "name": "clickthrough_1_gross", "comment": null}, "cpc_in_micro_dollar": {"type": "double precision", "index": 6, "name": "cpc_in_micro_dollar", "comment": null}, "cpm_in_micro_dollar": {"type": "double precision", "index": 7, "name": "cpm_in_micro_dollar", "comment": null}, "ctr": {"type": "double precision", "index": 8, "name": "ctr", "comment": null}, "ecpc_in_micro_dollar": {"type": "double precision", "index": 9, "name": "ecpc_in_micro_dollar", "comment": null}, "ecpm_in_micro_dollar": {"type": "double precision", "index": 10, "name": "ecpm_in_micro_dollar", "comment": null}, "ectr": {"type": "double precision", "index": 11, "name": "ectr", "comment": null}, "engagement_1": {"type": "integer", "index": 12, "name": "engagement_1", "comment": null}, "impression_1": {"type": "integer", "index": 13, "name": "impression_1", "comment": null}, "impression_1_gross": {"type": "integer", "index": 14, "name": "impression_1_gross", "comment": null}, "outbound_click_1": {"type": "integer", "index": 15, "name": "outbound_click_1", "comment": null}, "paid_impression": {"type": "integer", "index": 16, "name": "paid_impression", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 17, "name": "spend_in_micro_dollar", "comment": null}, "total_engagement": {"type": "integer", "index": 18, "name": "total_engagement", "comment": null}, "total_impression_frequency": {"type": "double precision", "index": 19, "name": "total_impression_frequency", "comment": null}, "total_impression_user": {"type": "integer", "index": 20, "name": "total_impression_user", "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.pinterest_source_integration_tests.advertiser_report_data"}, "seed.pinterest_source_integration_tests.campaign_history_data": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "campaign_history_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "created_time": {"type": "text", "index": 2, "name": "created_time", "comment": null}, "name": {"type": "text", "index": 3, "name": "name", "comment": null}, "status": {"type": "text", "index": 4, "name": "status", "comment": null}, "_fivetran_synced": {"type": "text", "index": 5, "name": "_fivetran_synced", "comment": null}, "advertiser_id": {"type": "bigint", "index": 6, "name": "advertiser_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.pinterest_source_integration_tests.campaign_history_data"}, "seed.pinterest_source_integration_tests.campaign_report_data": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "campaign_report_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"advertiser_id": {"type": "bigint", "index": 1, "name": "advertiser_id", "comment": null}, "campaign_id": {"type": "bigint", "index": 2, "name": "campaign_id", "comment": null}, "date": {"type": "timestamp without time zone", "index": 3, "name": "date", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 4, "name": "_fivetran_synced", "comment": null}, "campaign_daily_spend_cap": {"type": "integer", "index": 5, "name": "campaign_daily_spend_cap", "comment": null}, "campaign_lifetime_spend_cap": {"type": "integer", "index": 6, "name": "campaign_lifetime_spend_cap", "comment": null}, "campaign_name": {"type": "text", "index": 7, "name": "campaign_name", "comment": null}, "campaign_status": {"type": "text", "index": 8, "name": "campaign_status", "comment": null}, "clickthrough_1": {"type": "integer", "index": 9, "name": "clickthrough_1", "comment": null}, "clickthrough_1_gross": {"type": "integer", "index": 10, "name": "clickthrough_1_gross", "comment": null}, "cpc_in_micro_dollar": {"type": "double precision", "index": 11, "name": "cpc_in_micro_dollar", "comment": null}, "cpm_in_micro_dollar": {"type": "double precision", "index": 12, "name": "cpm_in_micro_dollar", "comment": null}, "ctr": {"type": "double precision", "index": 13, "name": "ctr", "comment": null}, "ecpc_in_micro_dollar": {"type": "double precision", "index": 14, "name": "ecpc_in_micro_dollar", "comment": null}, "ecpm_in_micro_dollar": {"type": "double precision", "index": 15, "name": "ecpm_in_micro_dollar", "comment": null}, "ectr": {"type": "double precision", "index": 16, "name": "ectr", "comment": null}, "engagement_1": {"type": "integer", "index": 17, "name": "engagement_1", "comment": null}, "impression_1": {"type": "integer", "index": 18, "name": "impression_1", "comment": null}, "impression_1_gross": {"type": "integer", "index": 19, "name": "impression_1_gross", "comment": null}, "outbound_click_1": {"type": "integer", "index": 20, "name": "outbound_click_1", "comment": null}, "paid_impression": {"type": "integer", "index": 21, "name": "paid_impression", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 22, "name": "spend_in_micro_dollar", "comment": null}, "total_engagement": {"type": "integer", "index": 23, "name": "total_engagement", "comment": null}, "total_impression_frequency": {"type": "double precision", "index": 24, "name": "total_impression_frequency", "comment": null}, "total_impression_user": {"type": "integer", "index": 25, "name": "total_impression_user", "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.pinterest_source_integration_tests.campaign_report_data"}, "seed.pinterest_source_integration_tests.keyword_history_data": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "keyword_history_data", "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}, "ad_group_id": {"type": "bigint", "index": 3, "name": "ad_group_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 4, "name": "advertiser_id", "comment": null}, "archived": {"type": "boolean", "index": 5, "name": "archived", "comment": null}, "bid": {"type": "integer", "index": 6, "name": "bid", "comment": null}, "campaign_id": {"type": "bigint", "index": 7, "name": "campaign_id", "comment": null}, "id": {"type": "bigint", "index": 8, "name": "id", "comment": null}, "match_type": {"type": "text", "index": 9, "name": "match_type", "comment": null}, "parent_type": {"type": "text", "index": 10, "name": "parent_type", "comment": null}, "value": {"type": "text", "index": 11, "name": "value", "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.pinterest_source_integration_tests.keyword_history_data"}, "seed.pinterest_source_integration_tests.keyword_report_data": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "keyword_report_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"ad_group_id": {"type": "bigint", "index": 1, "name": "ad_group_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 2, "name": "advertiser_id", "comment": null}, "campaign_id": {"type": "bigint", "index": 3, "name": "campaign_id", "comment": null}, "date": {"type": "timestamp without time zone", "index": 4, "name": "date", "comment": null}, "keyword_id": {"type": "bigint", "index": 5, "name": "keyword_id", "comment": null}, "pin_id": {"type": "bigint", "index": 6, "name": "pin_id", "comment": null}, "pin_promotion_id": {"type": "bigint", "index": 7, "name": "pin_promotion_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 8, "name": "_fivetran_synced", "comment": null}, "ad_group_name": {"type": "text", "index": 9, "name": "ad_group_name", "comment": null}, "ad_group_status": {"type": "text", "index": 10, "name": "ad_group_status", "comment": null}, "campaign_daily_spend_cap": {"type": "integer", "index": 11, "name": "campaign_daily_spend_cap", "comment": null}, "campaign_lifetime_spend_cap": {"type": "integer", "index": 12, "name": "campaign_lifetime_spend_cap", "comment": null}, "campaign_name": {"type": "text", "index": 13, "name": "campaign_name", "comment": null}, "campaign_status": {"type": "text", "index": 14, "name": "campaign_status", "comment": null}, "clickthrough_1": {"type": "integer", "index": 15, "name": "clickthrough_1", "comment": null}, "clickthrough_1_gross": {"type": "integer", "index": 16, "name": "clickthrough_1_gross", "comment": null}, "cpc_in_micro_dollar": {"type": "integer", "index": 17, "name": "cpc_in_micro_dollar", "comment": null}, "cpm_in_micro_dollar": {"type": "double precision", "index": 18, "name": "cpm_in_micro_dollar", "comment": null}, "ctr": {"type": "integer", "index": 19, "name": "ctr", "comment": null}, "ecpc_in_micro_dollar": {"type": "integer", "index": 20, "name": "ecpc_in_micro_dollar", "comment": null}, "ecpm_in_micro_dollar": {"type": "double precision", "index": 21, "name": "ecpm_in_micro_dollar", "comment": null}, "ectr": {"type": "integer", "index": 22, "name": "ectr", "comment": null}, "engagement_1": {"type": "integer", "index": 23, "name": "engagement_1", "comment": null}, "impression_1": {"type": "integer", "index": 24, "name": "impression_1", "comment": null}, "impression_1_gross": {"type": "integer", "index": 25, "name": "impression_1_gross", "comment": null}, "outbound_click_1": {"type": "integer", "index": 26, "name": "outbound_click_1", "comment": null}, "paid_impression": {"type": "integer", "index": 27, "name": "paid_impression", "comment": null}, "pin_promotion_name": {"type": "text", "index": 28, "name": "pin_promotion_name", "comment": null}, "pin_promotion_status": {"type": "text", "index": 29, "name": "pin_promotion_status", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 30, "name": "spend_in_micro_dollar", "comment": null}, "targeting_type": {"type": "text", "index": 31, "name": "targeting_type", "comment": null}, "targeting_value": {"type": "text", "index": 32, "name": "targeting_value", "comment": null}, "total_engagement": {"type": "integer", "index": 33, "name": "total_engagement", "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.pinterest_source_integration_tests.keyword_report_data"}, "seed.pinterest_source_integration_tests.pin_promotion_history_data": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "pin_promotion_history_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "ad_group_id": {"type": "bigint", "index": 2, "name": "ad_group_id", "comment": null}, "created_time": {"type": "text", "index": 3, "name": "created_time", "comment": null}, "destination_url": {"type": "text", "index": 4, "name": "destination_url", "comment": null}, "name": {"type": "text", "index": 5, "name": "name", "comment": null}, "pin_id": {"type": "bigint", "index": 6, "name": "pin_id", "comment": null}, "status": {"type": "text", "index": 7, "name": "status", "comment": null}, "creative_type": {"type": "text", "index": 8, "name": "creative_type", "comment": null}, "_fivetran_synced": {"type": "text", "index": 9, "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.pinterest_source_integration_tests.pin_promotion_history_data"}, "seed.pinterest_source_integration_tests.pin_promotion_report_data": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "pin_promotion_report_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"date": {"type": "text", "index": 1, "name": "date", "comment": null}, "pin_promotion_id": {"type": "bigint", "index": 2, "name": "pin_promotion_id", "comment": null}, "ad_group_id": {"type": "bigint", "index": 3, "name": "ad_group_id", "comment": null}, "campaign_id": {"type": "bigint", "index": 4, "name": "campaign_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 5, "name": "advertiser_id", "comment": null}, "_fivetran_synced": {"type": "text", "index": 6, "name": "_fivetran_synced", "comment": null}, "impression_1": {"type": "integer", "index": 7, "name": "impression_1", "comment": null}, "impression_2": {"type": "integer", "index": 8, "name": "impression_2", "comment": null}, "clickthrough_1": {"type": "integer", "index": 9, "name": "clickthrough_1", "comment": null}, "clickthrough_2": {"type": "integer", "index": 10, "name": "clickthrough_2", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 11, "name": "spend_in_micro_dollar", "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.pinterest_source_integration_tests.pin_promotion_report_data"}, "model.pinterest_source.stg_pinterest_ads__ad_group_history": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__ad_group_history", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"ad_group_id": {"type": "bigint", "index": 1, "name": "ad_group_id", "comment": null}, "ad_group_name": {"type": "text", "index": 2, "name": "ad_group_name", "comment": null}, "ad_group_status": {"type": "text", "index": 3, "name": "ad_group_status", "comment": null}, "_fivetran_synced": {"type": "text", "index": 4, "name": "_fivetran_synced", "comment": null}, "campaign_id": {"type": "bigint", "index": 5, "name": "campaign_id", "comment": null}, "created_at": {"type": "text", "index": 6, "name": "created_at", "comment": null}, "end_time": {"type": "integer", "index": 7, "name": "end_time", "comment": null}, "start_time": {"type": "text", "index": 8, "name": "start_time", "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.pinterest_source.stg_pinterest_ads__ad_group_history"}, "model.pinterest_source.stg_pinterest_ads__ad_group_history_tmp": {"metadata": {"type": "VIEW", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__ad_group_history_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "campaign_id": {"type": "bigint", "index": 2, "name": "campaign_id", "comment": null}, "created_time": {"type": "text", "index": 3, "name": "created_time", "comment": null}, "name": {"type": "text", "index": 4, "name": "name", "comment": null}, "status": {"type": "text", "index": 5, "name": "status", "comment": null}, "start_time": {"type": "text", "index": 6, "name": "start_time", "comment": null}, "end_time": {"type": "integer", "index": 7, "name": "end_time", "comment": null}, "_fivetran_synced": {"type": "text", "index": 8, "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.pinterest_source.stg_pinterest_ads__ad_group_history_tmp"}, "model.pinterest_source.stg_pinterest_ads__ad_group_report": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__ad_group_report", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"date_day": {"type": "timestamp without time zone", "index": 1, "name": "date_day", "comment": null}, "ad_group_id": {"type": "bigint", "index": 2, "name": "ad_group_id", "comment": null}, "ad_group_name": {"type": "text", "index": 3, "name": "ad_group_name", "comment": null}, "ad_group_status": {"type": "text", "index": 4, "name": "ad_group_status", "comment": null}, "campaign_id": {"type": "bigint", "index": 5, "name": "campaign_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 6, "name": "advertiser_id", "comment": null}, "impressions": {"type": "integer", "index": 7, "name": "impressions", "comment": null}, "clicks": {"type": "integer", "index": 8, "name": "clicks", "comment": null}, "spend": {"type": "numeric", "index": 9, "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.pinterest_source.stg_pinterest_ads__ad_group_report"}, "model.pinterest_source.stg_pinterest_ads__ad_group_report_tmp": {"metadata": {"type": "VIEW", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__ad_group_report_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"ad_group_id": {"type": "bigint", "index": 1, "name": "ad_group_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 2, "name": "advertiser_id", "comment": null}, "date": {"type": "timestamp without time zone", "index": 3, "name": "date", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 4, "name": "_fivetran_synced", "comment": null}, "ad_group_name": {"type": "text", "index": 5, "name": "ad_group_name", "comment": null}, "ad_group_status": {"type": "text", "index": 6, "name": "ad_group_status", "comment": null}, "campaign_daily_spend_cap": {"type": "integer", "index": 7, "name": "campaign_daily_spend_cap", "comment": null}, "campaign_id": {"type": "bigint", "index": 8, "name": "campaign_id", "comment": null}, "campaign_lifetime_spend_cap": {"type": "integer", "index": 9, "name": "campaign_lifetime_spend_cap", "comment": null}, "campaign_name": {"type": "text", "index": 10, "name": "campaign_name", "comment": null}, "campaign_status": {"type": "text", "index": 11, "name": "campaign_status", "comment": null}, "clickthrough_1": {"type": "integer", "index": 12, "name": "clickthrough_1", "comment": null}, "clickthrough_1_gross": {"type": "integer", "index": 13, "name": "clickthrough_1_gross", "comment": null}, "cpc_in_micro_dollar": {"type": "double precision", "index": 14, "name": "cpc_in_micro_dollar", "comment": null}, "cpm_in_micro_dollar": {"type": "double precision", "index": 15, "name": "cpm_in_micro_dollar", "comment": null}, "ctr": {"type": "double precision", "index": 16, "name": "ctr", "comment": null}, "ecpc_in_micro_dollar": {"type": "double precision", "index": 17, "name": "ecpc_in_micro_dollar", "comment": null}, "ecpm_in_micro_dollar": {"type": "double precision", "index": 18, "name": "ecpm_in_micro_dollar", "comment": null}, "ectr": {"type": "double precision", "index": 19, "name": "ectr", "comment": null}, "engagement_1": {"type": "integer", "index": 20, "name": "engagement_1", "comment": null}, "impression_1": {"type": "integer", "index": 21, "name": "impression_1", "comment": null}, "impression_1_gross": {"type": "integer", "index": 22, "name": "impression_1_gross", "comment": null}, "outbound_click_1": {"type": "integer", "index": 23, "name": "outbound_click_1", "comment": null}, "paid_impression": {"type": "integer", "index": 24, "name": "paid_impression", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 25, "name": "spend_in_micro_dollar", "comment": null}, "total_engagement": {"type": "integer", "index": 26, "name": "total_engagement", "comment": null}, "total_impression_frequency": {"type": "double precision", "index": 27, "name": "total_impression_frequency", "comment": null}, "total_impression_user": {"type": "integer", "index": 28, "name": "total_impression_user", "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.pinterest_source.stg_pinterest_ads__ad_group_report_tmp"}, "model.pinterest_source.stg_pinterest_ads__advertiser_history": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__advertiser_history", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"advertiser_id": {"type": "bigint", "index": 1, "name": "advertiser_id", "comment": null}, "advertiser_name": {"type": "text", "index": 2, "name": "advertiser_name", "comment": null}, "advertiser_status": {"type": "text", "index": 3, "name": "advertiser_status", "comment": null}, "billing_profile_status": {"type": "text", "index": 4, "name": "billing_profile_status", "comment": null}, "billing_type": {"type": "text", "index": 5, "name": "billing_type", "comment": null}, "country": {"type": "text", "index": 6, "name": "country", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 7, "name": "created_at", "comment": null}, "currency_code": {"type": "text", "index": 8, "name": "currency_code", "comment": null}, "merchant_id": {"type": "integer", "index": 9, "name": "merchant_id", "comment": null}, "owner_user_id": {"type": "integer", "index": 10, "name": "owner_user_id", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 11, "name": "updated_at", "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.pinterest_source.stg_pinterest_ads__advertiser_history"}, "model.pinterest_source.stg_pinterest_ads__advertiser_history_tmp": {"metadata": {"type": "VIEW", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__advertiser_history_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "updated_time": {"type": "timestamp without time zone", "index": 2, "name": "updated_time", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "billing_profile_status": {"type": "text", "index": 4, "name": "billing_profile_status", "comment": null}, "billing_type": {"type": "text", "index": 5, "name": "billing_type", "comment": null}, "country": {"type": "text", "index": 6, "name": "country", "comment": null}, "created_time": {"type": "timestamp without time zone", "index": 7, "name": "created_time", "comment": null}, "currency": {"type": "text", "index": 8, "name": "currency", "comment": null}, "merchant_id": {"type": "integer", "index": 9, "name": "merchant_id", "comment": null}, "name": {"type": "text", "index": 10, "name": "name", "comment": null}, "owner_user_id": {"type": "integer", "index": 11, "name": "owner_user_id", "comment": null}, "status": {"type": "text", "index": 12, "name": "status", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.pinterest_source.stg_pinterest_ads__advertiser_history_tmp"}, "model.pinterest_source.stg_pinterest_ads__advertiser_report": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__advertiser_report", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"date_day": {"type": "timestamp without time zone", "index": 1, "name": "date_day", "comment": null}, "advertiser_id": {"type": "bigint", "index": 2, "name": "advertiser_id", "comment": null}, "impressions": {"type": "integer", "index": 3, "name": "impressions", "comment": null}, "clicks": {"type": "integer", "index": 4, "name": "clicks", "comment": null}, "spend": {"type": "numeric", "index": 5, "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.pinterest_source.stg_pinterest_ads__advertiser_report"}, "model.pinterest_source.stg_pinterest_ads__advertiser_report_tmp": {"metadata": {"type": "VIEW", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__advertiser_report_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"advertiser_id": {"type": "bigint", "index": 1, "name": "advertiser_id", "comment": null}, "date": {"type": "timestamp without time zone", "index": 2, "name": "date", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "clickthrough_1": {"type": "integer", "index": 4, "name": "clickthrough_1", "comment": null}, "clickthrough_1_gross": {"type": "integer", "index": 5, "name": "clickthrough_1_gross", "comment": null}, "cpc_in_micro_dollar": {"type": "double precision", "index": 6, "name": "cpc_in_micro_dollar", "comment": null}, "cpm_in_micro_dollar": {"type": "double precision", "index": 7, "name": "cpm_in_micro_dollar", "comment": null}, "ctr": {"type": "double precision", "index": 8, "name": "ctr", "comment": null}, "ecpc_in_micro_dollar": {"type": "double precision", "index": 9, "name": "ecpc_in_micro_dollar", "comment": null}, "ecpm_in_micro_dollar": {"type": "double precision", "index": 10, "name": "ecpm_in_micro_dollar", "comment": null}, "ectr": {"type": "double precision", "index": 11, "name": "ectr", "comment": null}, "engagement_1": {"type": "integer", "index": 12, "name": "engagement_1", "comment": null}, "impression_1": {"type": "integer", "index": 13, "name": "impression_1", "comment": null}, "impression_1_gross": {"type": "integer", "index": 14, "name": "impression_1_gross", "comment": null}, "outbound_click_1": {"type": "integer", "index": 15, "name": "outbound_click_1", "comment": null}, "paid_impression": {"type": "integer", "index": 16, "name": "paid_impression", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 17, "name": "spend_in_micro_dollar", "comment": null}, "total_engagement": {"type": "integer", "index": 18, "name": "total_engagement", "comment": null}, "total_impression_frequency": {"type": "double precision", "index": 19, "name": "total_impression_frequency", "comment": null}, "total_impression_user": {"type": "integer", "index": 20, "name": "total_impression_user", "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.pinterest_source.stg_pinterest_ads__advertiser_report_tmp"}, "model.pinterest_source.stg_pinterest_ads__campaign_history": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__campaign_history", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"campaign_id": {"type": "bigint", "index": 1, "name": "campaign_id", "comment": null}, "campaign_name": {"type": "text", "index": 2, "name": "campaign_name", "comment": null}, "advertiser_id": {"type": "bigint", "index": 3, "name": "advertiser_id", "comment": null}, "campaign_status": {"type": "text", "index": 4, "name": "campaign_status", "comment": null}, "_fivetran_synced": {"type": "text", "index": 5, "name": "_fivetran_synced", "comment": null}, "created_at": {"type": "text", "index": 6, "name": "created_at", "comment": null}, "is_most_recent_record": {"type": "boolean", "index": 7, "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.pinterest_source.stg_pinterest_ads__campaign_history"}, "model.pinterest_source.stg_pinterest_ads__campaign_history_tmp": {"metadata": {"type": "VIEW", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__campaign_history_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "created_time": {"type": "text", "index": 2, "name": "created_time", "comment": null}, "name": {"type": "text", "index": 3, "name": "name", "comment": null}, "status": {"type": "text", "index": 4, "name": "status", "comment": null}, "_fivetran_synced": {"type": "text", "index": 5, "name": "_fivetran_synced", "comment": null}, "advertiser_id": {"type": "bigint", "index": 6, "name": "advertiser_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.pinterest_source.stg_pinterest_ads__campaign_history_tmp"}, "model.pinterest_source.stg_pinterest_ads__campaign_report": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__campaign_report", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"date_day": {"type": "timestamp without time zone", "index": 1, "name": "date_day", "comment": null}, "campaign_id": {"type": "bigint", "index": 2, "name": "campaign_id", "comment": null}, "campaign_name": {"type": "text", "index": 3, "name": "campaign_name", "comment": null}, "campaign_status": {"type": "text", "index": 4, "name": "campaign_status", "comment": null}, "advertiser_id": {"type": "bigint", "index": 5, "name": "advertiser_id", "comment": null}, "impressions": {"type": "integer", "index": 6, "name": "impressions", "comment": null}, "clicks": {"type": "integer", "index": 7, "name": "clicks", "comment": null}, "spend": {"type": "numeric", "index": 8, "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.pinterest_source.stg_pinterest_ads__campaign_report"}, "model.pinterest_source.stg_pinterest_ads__campaign_report_tmp": {"metadata": {"type": "VIEW", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__campaign_report_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"advertiser_id": {"type": "bigint", "index": 1, "name": "advertiser_id", "comment": null}, "campaign_id": {"type": "bigint", "index": 2, "name": "campaign_id", "comment": null}, "date": {"type": "timestamp without time zone", "index": 3, "name": "date", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 4, "name": "_fivetran_synced", "comment": null}, "campaign_daily_spend_cap": {"type": "integer", "index": 5, "name": "campaign_daily_spend_cap", "comment": null}, "campaign_lifetime_spend_cap": {"type": "integer", "index": 6, "name": "campaign_lifetime_spend_cap", "comment": null}, "campaign_name": {"type": "text", "index": 7, "name": "campaign_name", "comment": null}, "campaign_status": {"type": "text", "index": 8, "name": "campaign_status", "comment": null}, "clickthrough_1": {"type": "integer", "index": 9, "name": "clickthrough_1", "comment": null}, "clickthrough_1_gross": {"type": "integer", "index": 10, "name": "clickthrough_1_gross", "comment": null}, "cpc_in_micro_dollar": {"type": "double precision", "index": 11, "name": "cpc_in_micro_dollar", "comment": null}, "cpm_in_micro_dollar": {"type": "double precision", "index": 12, "name": "cpm_in_micro_dollar", "comment": null}, "ctr": {"type": "double precision", "index": 13, "name": "ctr", "comment": null}, "ecpc_in_micro_dollar": {"type": "double precision", "index": 14, "name": "ecpc_in_micro_dollar", "comment": null}, "ecpm_in_micro_dollar": {"type": "double precision", "index": 15, "name": "ecpm_in_micro_dollar", "comment": null}, "ectr": {"type": "double precision", "index": 16, "name": "ectr", "comment": null}, "engagement_1": {"type": "integer", "index": 17, "name": "engagement_1", "comment": null}, "impression_1": {"type": "integer", "index": 18, "name": "impression_1", "comment": null}, "impression_1_gross": {"type": "integer", "index": 19, "name": "impression_1_gross", "comment": null}, "outbound_click_1": {"type": "integer", "index": 20, "name": "outbound_click_1", "comment": null}, "paid_impression": {"type": "integer", "index": 21, "name": "paid_impression", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 22, "name": "spend_in_micro_dollar", "comment": null}, "total_engagement": {"type": "integer", "index": 23, "name": "total_engagement", "comment": null}, "total_impression_frequency": {"type": "double precision", "index": 24, "name": "total_impression_frequency", "comment": null}, "total_impression_user": {"type": "integer", "index": 25, "name": "total_impression_user", "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.pinterest_source.stg_pinterest_ads__campaign_report_tmp"}, "model.pinterest_source.stg_pinterest_ads__keyword_history": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__keyword_history", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"keyword_id": {"type": "bigint", "index": 1, "name": "keyword_id", "comment": null}, "keyword_value": {"type": "text", "index": 2, "name": "keyword_value", "comment": null}, "_fivetran_id": {"type": "text", "index": 3, "name": "_fivetran_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 4, "name": "_fivetran_synced", "comment": null}, "ad_group_id": {"type": "bigint", "index": 5, "name": "ad_group_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 6, "name": "advertiser_id", "comment": null}, "archived": {"type": "boolean", "index": 7, "name": "archived", "comment": null}, "bid": {"type": "integer", "index": 8, "name": "bid", "comment": null}, "campaign_id": {"type": "bigint", "index": 9, "name": "campaign_id", "comment": null}, "match_type": {"type": "text", "index": 10, "name": "match_type", "comment": null}, "parent_type": {"type": "text", "index": 11, "name": "parent_type", "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.pinterest_source.stg_pinterest_ads__keyword_history"}, "model.pinterest_source.stg_pinterest_ads__keyword_history_tmp": {"metadata": {"type": "VIEW", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__keyword_history_tmp", "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}, "ad_group_id": {"type": "bigint", "index": 3, "name": "ad_group_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 4, "name": "advertiser_id", "comment": null}, "archived": {"type": "boolean", "index": 5, "name": "archived", "comment": null}, "bid": {"type": "integer", "index": 6, "name": "bid", "comment": null}, "campaign_id": {"type": "bigint", "index": 7, "name": "campaign_id", "comment": null}, "id": {"type": "bigint", "index": 8, "name": "id", "comment": null}, "match_type": {"type": "text", "index": 9, "name": "match_type", "comment": null}, "parent_type": {"type": "text", "index": 10, "name": "parent_type", "comment": null}, "value": {"type": "text", "index": 11, "name": "value", "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.pinterest_source.stg_pinterest_ads__keyword_history_tmp"}, "model.pinterest_source.stg_pinterest_ads__keyword_report": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__keyword_report", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"date_day": {"type": "timestamp without time zone", "index": 1, "name": "date_day", "comment": null}, "keyword_id": {"type": "bigint", "index": 2, "name": "keyword_id", "comment": null}, "pin_promotion_id": {"type": "bigint", "index": 3, "name": "pin_promotion_id", "comment": null}, "ad_group_id": {"type": "bigint", "index": 4, "name": "ad_group_id", "comment": null}, "ad_group_name": {"type": "text", "index": 5, "name": "ad_group_name", "comment": null}, "ad_group_status": {"type": "text", "index": 6, "name": "ad_group_status", "comment": null}, "campaign_id": {"type": "bigint", "index": 7, "name": "campaign_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 8, "name": "advertiser_id", "comment": null}, "impressions": {"type": "integer", "index": 9, "name": "impressions", "comment": null}, "clicks": {"type": "integer", "index": 10, "name": "clicks", "comment": null}, "spend": {"type": "numeric", "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.pinterest_source.stg_pinterest_ads__keyword_report"}, "model.pinterest_source.stg_pinterest_ads__keyword_report_tmp": {"metadata": {"type": "VIEW", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__keyword_report_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"ad_group_id": {"type": "bigint", "index": 1, "name": "ad_group_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 2, "name": "advertiser_id", "comment": null}, "campaign_id": {"type": "bigint", "index": 3, "name": "campaign_id", "comment": null}, "date": {"type": "timestamp without time zone", "index": 4, "name": "date", "comment": null}, "keyword_id": {"type": "bigint", "index": 5, "name": "keyword_id", "comment": null}, "pin_id": {"type": "bigint", "index": 6, "name": "pin_id", "comment": null}, "pin_promotion_id": {"type": "bigint", "index": 7, "name": "pin_promotion_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 8, "name": "_fivetran_synced", "comment": null}, "ad_group_name": {"type": "text", "index": 9, "name": "ad_group_name", "comment": null}, "ad_group_status": {"type": "text", "index": 10, "name": "ad_group_status", "comment": null}, "campaign_daily_spend_cap": {"type": "integer", "index": 11, "name": "campaign_daily_spend_cap", "comment": null}, "campaign_lifetime_spend_cap": {"type": "integer", "index": 12, "name": "campaign_lifetime_spend_cap", "comment": null}, "campaign_name": {"type": "text", "index": 13, "name": "campaign_name", "comment": null}, "campaign_status": {"type": "text", "index": 14, "name": "campaign_status", "comment": null}, "clickthrough_1": {"type": "integer", "index": 15, "name": "clickthrough_1", "comment": null}, "clickthrough_1_gross": {"type": "integer", "index": 16, "name": "clickthrough_1_gross", "comment": null}, "cpc_in_micro_dollar": {"type": "integer", "index": 17, "name": "cpc_in_micro_dollar", "comment": null}, "cpm_in_micro_dollar": {"type": "double precision", "index": 18, "name": "cpm_in_micro_dollar", "comment": null}, "ctr": {"type": "integer", "index": 19, "name": "ctr", "comment": null}, "ecpc_in_micro_dollar": {"type": "integer", "index": 20, "name": "ecpc_in_micro_dollar", "comment": null}, "ecpm_in_micro_dollar": {"type": "double precision", "index": 21, "name": "ecpm_in_micro_dollar", "comment": null}, "ectr": {"type": "integer", "index": 22, "name": "ectr", "comment": null}, "engagement_1": {"type": "integer", "index": 23, "name": "engagement_1", "comment": null}, "impression_1": {"type": "integer", "index": 24, "name": "impression_1", "comment": null}, "impression_1_gross": {"type": "integer", "index": 25, "name": "impression_1_gross", "comment": null}, "outbound_click_1": {"type": "integer", "index": 26, "name": "outbound_click_1", "comment": null}, "paid_impression": {"type": "integer", "index": 27, "name": "paid_impression", "comment": null}, "pin_promotion_name": {"type": "text", "index": 28, "name": "pin_promotion_name", "comment": null}, "pin_promotion_status": {"type": "text", "index": 29, "name": "pin_promotion_status", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 30, "name": "spend_in_micro_dollar", "comment": null}, "targeting_type": {"type": "text", "index": 31, "name": "targeting_type", "comment": null}, "targeting_value": {"type": "text", "index": 32, "name": "targeting_value", "comment": null}, "total_engagement": {"type": "integer", "index": 33, "name": "total_engagement", "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.pinterest_source.stg_pinterest_ads__keyword_report_tmp"}, "model.pinterest_source.stg_pinterest_ads__pin_promotion_history": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__pin_promotion_history", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"pin_promotion_id": {"type": "bigint", "index": 1, "name": "pin_promotion_id", "comment": null}, "ad_group_id": {"type": "bigint", "index": 2, "name": "ad_group_id", "comment": null}, "created_at": {"type": "text", "index": 3, "name": "created_at", "comment": null}, "destination_url": {"type": "text", "index": 4, "name": "destination_url", "comment": null}, "base_url": {"type": "text", "index": 5, "name": "base_url", "comment": null}, "url_host": {"type": "character varying", "index": 6, "name": "url_host", "comment": null}, "url_path": {"type": "text", "index": 7, "name": "url_path", "comment": null}, "utm_source": {"type": "text", "index": 8, "name": "utm_source", "comment": null}, "utm_medium": {"type": "text", "index": 9, "name": "utm_medium", "comment": null}, "utm_campaign": {"type": "text", "index": 10, "name": "utm_campaign", "comment": null}, "utm_content": {"type": "text", "index": 11, "name": "utm_content", "comment": null}, "utm_term": {"type": "text", "index": 12, "name": "utm_term", "comment": null}, "pin_name": {"type": "text", "index": 13, "name": "pin_name", "comment": null}, "pin_id": {"type": "bigint", "index": 14, "name": "pin_id", "comment": null}, "pin_status": {"type": "text", "index": 15, "name": "pin_status", "comment": null}, "creative_type": {"type": "text", "index": 16, "name": "creative_type", "comment": null}, "_fivetran_synced": {"type": "text", "index": 17, "name": "_fivetran_synced", "comment": null}, "is_most_recent_record": {"type": "boolean", "index": 18, "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.pinterest_source.stg_pinterest_ads__pin_promotion_history"}, "model.pinterest_source.stg_pinterest_ads__pin_promotion_history_tmp": {"metadata": {"type": "VIEW", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__pin_promotion_history_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "ad_group_id": {"type": "bigint", "index": 2, "name": "ad_group_id", "comment": null}, "created_time": {"type": "text", "index": 3, "name": "created_time", "comment": null}, "destination_url": {"type": "text", "index": 4, "name": "destination_url", "comment": null}, "name": {"type": "text", "index": 5, "name": "name", "comment": null}, "pin_id": {"type": "bigint", "index": 6, "name": "pin_id", "comment": null}, "status": {"type": "text", "index": 7, "name": "status", "comment": null}, "creative_type": {"type": "text", "index": 8, "name": "creative_type", "comment": null}, "_fivetran_synced": {"type": "text", "index": 9, "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.pinterest_source.stg_pinterest_ads__pin_promotion_history_tmp"}, "model.pinterest_source.stg_pinterest_ads__pin_promotion_report": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__pin_promotion_report", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"date_day": {"type": "text", "index": 1, "name": "date_day", "comment": null}, "pin_promotion_id": {"type": "bigint", "index": 2, "name": "pin_promotion_id", "comment": null}, "ad_group_id": {"type": "bigint", "index": 3, "name": "ad_group_id", "comment": null}, "campaign_id": {"type": "bigint", "index": 4, "name": "campaign_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 5, "name": "advertiser_id", "comment": null}, "impressions": {"type": "integer", "index": 6, "name": "impressions", "comment": null}, "clicks": {"type": "integer", "index": 7, "name": "clicks", "comment": null}, "spend": {"type": "numeric", "index": 8, "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.pinterest_source.stg_pinterest_ads__pin_promotion_report"}, "model.pinterest_source.stg_pinterest_ads__pin_promotion_report_tmp": {"metadata": {"type": "VIEW", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__pin_promotion_report_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"date": {"type": "text", "index": 1, "name": "date", "comment": null}, "pin_promotion_id": {"type": "bigint", "index": 2, "name": "pin_promotion_id", "comment": null}, "ad_group_id": {"type": "bigint", "index": 3, "name": "ad_group_id", "comment": null}, "campaign_id": {"type": "bigint", "index": 4, "name": "campaign_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 5, "name": "advertiser_id", "comment": null}, "_fivetran_synced": {"type": "text", "index": 6, "name": "_fivetran_synced", "comment": null}, "impression_1": {"type": "integer", "index": 7, "name": "impression_1", "comment": null}, "impression_2": {"type": "integer", "index": 8, "name": "impression_2", "comment": null}, "clickthrough_1": {"type": "integer", "index": 9, "name": "clickthrough_1", "comment": null}, "clickthrough_2": {"type": "integer", "index": 10, "name": "clickthrough_2", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 11, "name": "spend_in_micro_dollar", "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.pinterest_source.stg_pinterest_ads__pin_promotion_report_tmp"}}, "sources": {"source.pinterest_source.pinterest_ads.ad_group_history": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "ad_group_history_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "campaign_id": {"type": "bigint", "index": 2, "name": "campaign_id", "comment": null}, "created_time": {"type": "text", "index": 3, "name": "created_time", "comment": null}, "name": {"type": "text", "index": 4, "name": "name", "comment": null}, "status": {"type": "text", "index": 5, "name": "status", "comment": null}, "start_time": {"type": "text", "index": 6, "name": "start_time", "comment": null}, "end_time": {"type": "integer", "index": 7, "name": "end_time", "comment": null}, "_fivetran_synced": {"type": "text", "index": 8, "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.pinterest_source.pinterest_ads.ad_group_history"}, "source.pinterest_source.pinterest_ads.ad_group_report": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "ad_group_report_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"ad_group_id": {"type": "bigint", "index": 1, "name": "ad_group_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 2, "name": "advertiser_id", "comment": null}, "date": {"type": "timestamp without time zone", "index": 3, "name": "date", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 4, "name": "_fivetran_synced", "comment": null}, "ad_group_name": {"type": "text", "index": 5, "name": "ad_group_name", "comment": null}, "ad_group_status": {"type": "text", "index": 6, "name": "ad_group_status", "comment": null}, "campaign_daily_spend_cap": {"type": "integer", "index": 7, "name": "campaign_daily_spend_cap", "comment": null}, "campaign_id": {"type": "bigint", "index": 8, "name": "campaign_id", "comment": null}, "campaign_lifetime_spend_cap": {"type": "integer", "index": 9, "name": "campaign_lifetime_spend_cap", "comment": null}, "campaign_name": {"type": "text", "index": 10, "name": "campaign_name", "comment": null}, "campaign_status": {"type": "text", "index": 11, "name": "campaign_status", "comment": null}, "clickthrough_1": {"type": "integer", "index": 12, "name": "clickthrough_1", "comment": null}, "clickthrough_1_gross": {"type": "integer", "index": 13, "name": "clickthrough_1_gross", "comment": null}, "cpc_in_micro_dollar": {"type": "double precision", "index": 14, "name": "cpc_in_micro_dollar", "comment": null}, "cpm_in_micro_dollar": {"type": "double precision", "index": 15, "name": "cpm_in_micro_dollar", "comment": null}, "ctr": {"type": "double precision", "index": 16, "name": "ctr", "comment": null}, "ecpc_in_micro_dollar": {"type": "double precision", "index": 17, "name": "ecpc_in_micro_dollar", "comment": null}, "ecpm_in_micro_dollar": {"type": "double precision", "index": 18, "name": "ecpm_in_micro_dollar", "comment": null}, "ectr": {"type": "double precision", "index": 19, "name": "ectr", "comment": null}, "engagement_1": {"type": "integer", "index": 20, "name": "engagement_1", "comment": null}, "impression_1": {"type": "integer", "index": 21, "name": "impression_1", "comment": null}, "impression_1_gross": {"type": "integer", "index": 22, "name": "impression_1_gross", "comment": null}, "outbound_click_1": {"type": "integer", "index": 23, "name": "outbound_click_1", "comment": null}, "paid_impression": {"type": "integer", "index": 24, "name": "paid_impression", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 25, "name": "spend_in_micro_dollar", "comment": null}, "total_engagement": {"type": "integer", "index": 26, "name": "total_engagement", "comment": null}, "total_impression_frequency": {"type": "double precision", "index": 27, "name": "total_impression_frequency", "comment": null}, "total_impression_user": {"type": "integer", "index": 28, "name": "total_impression_user", "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.pinterest_source.pinterest_ads.ad_group_report"}, "source.pinterest_source.pinterest_ads.advertiser_history": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "advertiser_history_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "updated_time": {"type": "timestamp without time zone", "index": 2, "name": "updated_time", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "billing_profile_status": {"type": "text", "index": 4, "name": "billing_profile_status", "comment": null}, "billing_type": {"type": "text", "index": 5, "name": "billing_type", "comment": null}, "country": {"type": "text", "index": 6, "name": "country", "comment": null}, "created_time": {"type": "timestamp without time zone", "index": 7, "name": "created_time", "comment": null}, "currency": {"type": "text", "index": 8, "name": "currency", "comment": null}, "merchant_id": {"type": "integer", "index": 9, "name": "merchant_id", "comment": null}, "name": {"type": "text", "index": 10, "name": "name", "comment": null}, "owner_user_id": {"type": "integer", "index": 11, "name": "owner_user_id", "comment": null}, "status": {"type": "text", "index": 12, "name": "status", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.pinterest_source.pinterest_ads.advertiser_history"}, "source.pinterest_source.pinterest_ads.advertiser_report": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "advertiser_report_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"advertiser_id": {"type": "bigint", "index": 1, "name": "advertiser_id", "comment": null}, "date": {"type": "timestamp without time zone", "index": 2, "name": "date", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "clickthrough_1": {"type": "integer", "index": 4, "name": "clickthrough_1", "comment": null}, "clickthrough_1_gross": {"type": "integer", "index": 5, "name": "clickthrough_1_gross", "comment": null}, "cpc_in_micro_dollar": {"type": "double precision", "index": 6, "name": "cpc_in_micro_dollar", "comment": null}, "cpm_in_micro_dollar": {"type": "double precision", "index": 7, "name": "cpm_in_micro_dollar", "comment": null}, "ctr": {"type": "double precision", "index": 8, "name": "ctr", "comment": null}, "ecpc_in_micro_dollar": {"type": "double precision", "index": 9, "name": "ecpc_in_micro_dollar", "comment": null}, "ecpm_in_micro_dollar": {"type": "double precision", "index": 10, "name": "ecpm_in_micro_dollar", "comment": null}, "ectr": {"type": "double precision", "index": 11, "name": "ectr", "comment": null}, "engagement_1": {"type": "integer", "index": 12, "name": "engagement_1", "comment": null}, "impression_1": {"type": "integer", "index": 13, "name": "impression_1", "comment": null}, "impression_1_gross": {"type": "integer", "index": 14, "name": "impression_1_gross", "comment": null}, "outbound_click_1": {"type": "integer", "index": 15, "name": "outbound_click_1", "comment": null}, "paid_impression": {"type": "integer", "index": 16, "name": "paid_impression", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 17, "name": "spend_in_micro_dollar", "comment": null}, "total_engagement": {"type": "integer", "index": 18, "name": "total_engagement", "comment": null}, "total_impression_frequency": {"type": "double precision", "index": 19, "name": "total_impression_frequency", "comment": null}, "total_impression_user": {"type": "integer", "index": 20, "name": "total_impression_user", "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.pinterest_source.pinterest_ads.advertiser_report"}, "source.pinterest_source.pinterest_ads.campaign_history": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "campaign_history_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "created_time": {"type": "text", "index": 2, "name": "created_time", "comment": null}, "name": {"type": "text", "index": 3, "name": "name", "comment": null}, "status": {"type": "text", "index": 4, "name": "status", "comment": null}, "_fivetran_synced": {"type": "text", "index": 5, "name": "_fivetran_synced", "comment": null}, "advertiser_id": {"type": "bigint", "index": 6, "name": "advertiser_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.pinterest_source.pinterest_ads.campaign_history"}, "source.pinterest_source.pinterest_ads.campaign_report": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "campaign_report_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"advertiser_id": {"type": "bigint", "index": 1, "name": "advertiser_id", "comment": null}, "campaign_id": {"type": "bigint", "index": 2, "name": "campaign_id", "comment": null}, "date": {"type": "timestamp without time zone", "index": 3, "name": "date", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 4, "name": "_fivetran_synced", "comment": null}, "campaign_daily_spend_cap": {"type": "integer", "index": 5, "name": "campaign_daily_spend_cap", "comment": null}, "campaign_lifetime_spend_cap": {"type": "integer", "index": 6, "name": "campaign_lifetime_spend_cap", "comment": null}, "campaign_name": {"type": "text", "index": 7, "name": "campaign_name", "comment": null}, "campaign_status": {"type": "text", "index": 8, "name": "campaign_status", "comment": null}, "clickthrough_1": {"type": "integer", "index": 9, "name": "clickthrough_1", "comment": null}, "clickthrough_1_gross": {"type": "integer", "index": 10, "name": "clickthrough_1_gross", "comment": null}, "cpc_in_micro_dollar": {"type": "double precision", "index": 11, "name": "cpc_in_micro_dollar", "comment": null}, "cpm_in_micro_dollar": {"type": "double precision", "index": 12, "name": "cpm_in_micro_dollar", "comment": null}, "ctr": {"type": "double precision", "index": 13, "name": "ctr", "comment": null}, "ecpc_in_micro_dollar": {"type": "double precision", "index": 14, "name": "ecpc_in_micro_dollar", "comment": null}, "ecpm_in_micro_dollar": {"type": "double precision", "index": 15, "name": "ecpm_in_micro_dollar", "comment": null}, "ectr": {"type": "double precision", "index": 16, "name": "ectr", "comment": null}, "engagement_1": {"type": "integer", "index": 17, "name": "engagement_1", "comment": null}, "impression_1": {"type": "integer", "index": 18, "name": "impression_1", "comment": null}, "impression_1_gross": {"type": "integer", "index": 19, "name": "impression_1_gross", "comment": null}, "outbound_click_1": {"type": "integer", "index": 20, "name": "outbound_click_1", "comment": null}, "paid_impression": {"type": "integer", "index": 21, "name": "paid_impression", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 22, "name": "spend_in_micro_dollar", "comment": null}, "total_engagement": {"type": "integer", "index": 23, "name": "total_engagement", "comment": null}, "total_impression_frequency": {"type": "double precision", "index": 24, "name": "total_impression_frequency", "comment": null}, "total_impression_user": {"type": "integer", "index": 25, "name": "total_impression_user", "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.pinterest_source.pinterest_ads.campaign_report"}, "source.pinterest_source.pinterest_ads.keyword_history": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "keyword_history_data", "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}, "ad_group_id": {"type": "bigint", "index": 3, "name": "ad_group_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 4, "name": "advertiser_id", "comment": null}, "archived": {"type": "boolean", "index": 5, "name": "archived", "comment": null}, "bid": {"type": "integer", "index": 6, "name": "bid", "comment": null}, "campaign_id": {"type": "bigint", "index": 7, "name": "campaign_id", "comment": null}, "id": {"type": "bigint", "index": 8, "name": "id", "comment": null}, "match_type": {"type": "text", "index": 9, "name": "match_type", "comment": null}, "parent_type": {"type": "text", "index": 10, "name": "parent_type", "comment": null}, "value": {"type": "text", "index": 11, "name": "value", "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.pinterest_source.pinterest_ads.keyword_history"}, "source.pinterest_source.pinterest_ads.keyword_report": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "keyword_report_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"ad_group_id": {"type": "bigint", "index": 1, "name": "ad_group_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 2, "name": "advertiser_id", "comment": null}, "campaign_id": {"type": "bigint", "index": 3, "name": "campaign_id", "comment": null}, "date": {"type": "timestamp without time zone", "index": 4, "name": "date", "comment": null}, "keyword_id": {"type": "bigint", "index": 5, "name": "keyword_id", "comment": null}, "pin_id": {"type": "bigint", "index": 6, "name": "pin_id", "comment": null}, "pin_promotion_id": {"type": "bigint", "index": 7, "name": "pin_promotion_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 8, "name": "_fivetran_synced", "comment": null}, "ad_group_name": {"type": "text", "index": 9, "name": "ad_group_name", "comment": null}, "ad_group_status": {"type": "text", "index": 10, "name": "ad_group_status", "comment": null}, "campaign_daily_spend_cap": {"type": "integer", "index": 11, "name": "campaign_daily_spend_cap", "comment": null}, "campaign_lifetime_spend_cap": {"type": "integer", "index": 12, "name": "campaign_lifetime_spend_cap", "comment": null}, "campaign_name": {"type": "text", "index": 13, "name": "campaign_name", "comment": null}, "campaign_status": {"type": "text", "index": 14, "name": "campaign_status", "comment": null}, "clickthrough_1": {"type": "integer", "index": 15, "name": "clickthrough_1", "comment": null}, "clickthrough_1_gross": {"type": "integer", "index": 16, "name": "clickthrough_1_gross", "comment": null}, "cpc_in_micro_dollar": {"type": "integer", "index": 17, "name": "cpc_in_micro_dollar", "comment": null}, "cpm_in_micro_dollar": {"type": "double precision", "index": 18, "name": "cpm_in_micro_dollar", "comment": null}, "ctr": {"type": "integer", "index": 19, "name": "ctr", "comment": null}, "ecpc_in_micro_dollar": {"type": "integer", "index": 20, "name": "ecpc_in_micro_dollar", "comment": null}, "ecpm_in_micro_dollar": {"type": "double precision", "index": 21, "name": "ecpm_in_micro_dollar", "comment": null}, "ectr": {"type": "integer", "index": 22, "name": "ectr", "comment": null}, "engagement_1": {"type": "integer", "index": 23, "name": "engagement_1", "comment": null}, "impression_1": {"type": "integer", "index": 24, "name": "impression_1", "comment": null}, "impression_1_gross": {"type": "integer", "index": 25, "name": "impression_1_gross", "comment": null}, "outbound_click_1": {"type": "integer", "index": 26, "name": "outbound_click_1", "comment": null}, "paid_impression": {"type": "integer", "index": 27, "name": "paid_impression", "comment": null}, "pin_promotion_name": {"type": "text", "index": 28, "name": "pin_promotion_name", "comment": null}, "pin_promotion_status": {"type": "text", "index": 29, "name": "pin_promotion_status", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 30, "name": "spend_in_micro_dollar", "comment": null}, "targeting_type": {"type": "text", "index": 31, "name": "targeting_type", "comment": null}, "targeting_value": {"type": "text", "index": 32, "name": "targeting_value", "comment": null}, "total_engagement": {"type": "integer", "index": 33, "name": "total_engagement", "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.pinterest_source.pinterest_ads.keyword_report"}, "source.pinterest_source.pinterest_ads.pin_promotion_history": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "pin_promotion_history_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "ad_group_id": {"type": "bigint", "index": 2, "name": "ad_group_id", "comment": null}, "created_time": {"type": "text", "index": 3, "name": "created_time", "comment": null}, "destination_url": {"type": "text", "index": 4, "name": "destination_url", "comment": null}, "name": {"type": "text", "index": 5, "name": "name", "comment": null}, "pin_id": {"type": "bigint", "index": 6, "name": "pin_id", "comment": null}, "status": {"type": "text", "index": 7, "name": "status", "comment": null}, "creative_type": {"type": "text", "index": 8, "name": "creative_type", "comment": null}, "_fivetran_synced": {"type": "text", "index": 9, "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.pinterest_source.pinterest_ads.pin_promotion_history"}, "source.pinterest_source.pinterest_ads.pin_promotion_report": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "pin_promotion_report_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"date": {"type": "text", "index": 1, "name": "date", "comment": null}, "pin_promotion_id": {"type": "bigint", "index": 2, "name": "pin_promotion_id", "comment": null}, "ad_group_id": {"type": "bigint", "index": 3, "name": "ad_group_id", "comment": null}, "campaign_id": {"type": "bigint", "index": 4, "name": "campaign_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 5, "name": "advertiser_id", "comment": null}, "_fivetran_synced": {"type": "text", "index": 6, "name": "_fivetran_synced", "comment": null}, "impression_1": {"type": "integer", "index": 7, "name": "impression_1", "comment": null}, "impression_2": {"type": "integer", "index": 8, "name": "impression_2", "comment": null}, "clickthrough_1": {"type": "integer", "index": 9, "name": "clickthrough_1", "comment": null}, "clickthrough_2": {"type": "integer", "index": 10, "name": "clickthrough_2", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 11, "name": "spend_in_micro_dollar", "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.pinterest_source.pinterest_ads.pin_promotion_report"}}, "errors": null} \ No newline at end of file +{"metadata": {"dbt_schema_version": "https://schemas.getdbt.com/dbt/catalog/v1.json", "dbt_version": "1.0.4", "generated_at": "2022-07-20T19:21:03.972721Z", "invocation_id": "dbf490a2-d9ac-4389-8b4c-a7cae74fc906", "env": {}}, "nodes": {"seed.pinterest_source_integration_tests.ad_group_history_data": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "ad_group_history_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "campaign_id": {"type": "bigint", "index": 2, "name": "campaign_id", "comment": null}, "created_time": {"type": "text", "index": 3, "name": "created_time", "comment": null}, "name": {"type": "text", "index": 4, "name": "name", "comment": null}, "status": {"type": "text", "index": 5, "name": "status", "comment": null}, "start_time": {"type": "text", "index": 6, "name": "start_time", "comment": null}, "end_time": {"type": "integer", "index": 7, "name": "end_time", "comment": null}, "_fivetran_synced": {"type": "text", "index": 8, "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.pinterest_source_integration_tests.ad_group_history_data"}, "seed.pinterest_source_integration_tests.ad_group_report_data": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "ad_group_report_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"ad_group_id": {"type": "bigint", "index": 1, "name": "ad_group_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 2, "name": "advertiser_id", "comment": null}, "date": {"type": "timestamp without time zone", "index": 3, "name": "date", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 4, "name": "_fivetran_synced", "comment": null}, "ad_group_name": {"type": "text", "index": 5, "name": "ad_group_name", "comment": null}, "ad_group_status": {"type": "text", "index": 6, "name": "ad_group_status", "comment": null}, "campaign_daily_spend_cap": {"type": "integer", "index": 7, "name": "campaign_daily_spend_cap", "comment": null}, "campaign_id": {"type": "bigint", "index": 8, "name": "campaign_id", "comment": null}, "campaign_lifetime_spend_cap": {"type": "integer", "index": 9, "name": "campaign_lifetime_spend_cap", "comment": null}, "campaign_name": {"type": "text", "index": 10, "name": "campaign_name", "comment": null}, "campaign_status": {"type": "text", "index": 11, "name": "campaign_status", "comment": null}, "clickthrough_1": {"type": "integer", "index": 12, "name": "clickthrough_1", "comment": null}, "clickthrough_1_gross": {"type": "integer", "index": 13, "name": "clickthrough_1_gross", "comment": null}, "cpc_in_micro_dollar": {"type": "double precision", "index": 14, "name": "cpc_in_micro_dollar", "comment": null}, "cpm_in_micro_dollar": {"type": "double precision", "index": 15, "name": "cpm_in_micro_dollar", "comment": null}, "ctr": {"type": "double precision", "index": 16, "name": "ctr", "comment": null}, "ecpc_in_micro_dollar": {"type": "double precision", "index": 17, "name": "ecpc_in_micro_dollar", "comment": null}, "ecpm_in_micro_dollar": {"type": "double precision", "index": 18, "name": "ecpm_in_micro_dollar", "comment": null}, "ectr": {"type": "double precision", "index": 19, "name": "ectr", "comment": null}, "engagement_1": {"type": "integer", "index": 20, "name": "engagement_1", "comment": null}, "impression_1": {"type": "integer", "index": 21, "name": "impression_1", "comment": null}, "impression_1_gross": {"type": "integer", "index": 22, "name": "impression_1_gross", "comment": null}, "outbound_click_1": {"type": "integer", "index": 23, "name": "outbound_click_1", "comment": null}, "paid_impression": {"type": "integer", "index": 24, "name": "paid_impression", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 25, "name": "spend_in_micro_dollar", "comment": null}, "total_engagement": {"type": "integer", "index": 26, "name": "total_engagement", "comment": null}, "total_impression_frequency": {"type": "double precision", "index": 27, "name": "total_impression_frequency", "comment": null}, "total_impression_user": {"type": "integer", "index": 28, "name": "total_impression_user", "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.pinterest_source_integration_tests.ad_group_report_data"}, "seed.pinterest_source_integration_tests.advertiser_history_data": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "advertiser_history_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "updated_time": {"type": "timestamp without time zone", "index": 2, "name": "updated_time", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "billing_profile_status": {"type": "text", "index": 4, "name": "billing_profile_status", "comment": null}, "billing_type": {"type": "text", "index": 5, "name": "billing_type", "comment": null}, "country": {"type": "text", "index": 6, "name": "country", "comment": null}, "created_time": {"type": "timestamp without time zone", "index": 7, "name": "created_time", "comment": null}, "currency": {"type": "text", "index": 8, "name": "currency", "comment": null}, "merchant_id": {"type": "integer", "index": 9, "name": "merchant_id", "comment": null}, "name": {"type": "text", "index": 10, "name": "name", "comment": null}, "owner_user_id": {"type": "integer", "index": 11, "name": "owner_user_id", "comment": null}, "status": {"type": "text", "index": 12, "name": "status", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "seed.pinterest_source_integration_tests.advertiser_history_data"}, "seed.pinterest_source_integration_tests.advertiser_report_data": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "advertiser_report_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"advertiser_id": {"type": "bigint", "index": 1, "name": "advertiser_id", "comment": null}, "date": {"type": "timestamp without time zone", "index": 2, "name": "date", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "clickthrough_1": {"type": "integer", "index": 4, "name": "clickthrough_1", "comment": null}, "clickthrough_1_gross": {"type": "integer", "index": 5, "name": "clickthrough_1_gross", "comment": null}, "cpc_in_micro_dollar": {"type": "double precision", "index": 6, "name": "cpc_in_micro_dollar", "comment": null}, "cpm_in_micro_dollar": {"type": "double precision", "index": 7, "name": "cpm_in_micro_dollar", "comment": null}, "ctr": {"type": "double precision", "index": 8, "name": "ctr", "comment": null}, "ecpc_in_micro_dollar": {"type": "double precision", "index": 9, "name": "ecpc_in_micro_dollar", "comment": null}, "ecpm_in_micro_dollar": {"type": "double precision", "index": 10, "name": "ecpm_in_micro_dollar", "comment": null}, "ectr": {"type": "double precision", "index": 11, "name": "ectr", "comment": null}, "engagement_1": {"type": "integer", "index": 12, "name": "engagement_1", "comment": null}, "impression_1": {"type": "integer", "index": 13, "name": "impression_1", "comment": null}, "impression_1_gross": {"type": "integer", "index": 14, "name": "impression_1_gross", "comment": null}, "outbound_click_1": {"type": "integer", "index": 15, "name": "outbound_click_1", "comment": null}, "paid_impression": {"type": "integer", "index": 16, "name": "paid_impression", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 17, "name": "spend_in_micro_dollar", "comment": null}, "total_engagement": {"type": "integer", "index": 18, "name": "total_engagement", "comment": null}, "total_impression_frequency": {"type": "double precision", "index": 19, "name": "total_impression_frequency", "comment": null}, "total_impression_user": {"type": "integer", "index": 20, "name": "total_impression_user", "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.pinterest_source_integration_tests.advertiser_report_data"}, "seed.pinterest_source_integration_tests.campaign_history_data": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "campaign_history_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "created_time": {"type": "text", "index": 2, "name": "created_time", "comment": null}, "name": {"type": "text", "index": 3, "name": "name", "comment": null}, "status": {"type": "text", "index": 4, "name": "status", "comment": null}, "_fivetran_synced": {"type": "text", "index": 5, "name": "_fivetran_synced", "comment": null}, "advertiser_id": {"type": "bigint", "index": 6, "name": "advertiser_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.pinterest_source_integration_tests.campaign_history_data"}, "seed.pinterest_source_integration_tests.campaign_report_data": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "campaign_report_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"advertiser_id": {"type": "bigint", "index": 1, "name": "advertiser_id", "comment": null}, "campaign_id": {"type": "bigint", "index": 2, "name": "campaign_id", "comment": null}, "date": {"type": "timestamp without time zone", "index": 3, "name": "date", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 4, "name": "_fivetran_synced", "comment": null}, "campaign_daily_spend_cap": {"type": "integer", "index": 5, "name": "campaign_daily_spend_cap", "comment": null}, "campaign_lifetime_spend_cap": {"type": "integer", "index": 6, "name": "campaign_lifetime_spend_cap", "comment": null}, "campaign_name": {"type": "text", "index": 7, "name": "campaign_name", "comment": null}, "campaign_status": {"type": "text", "index": 8, "name": "campaign_status", "comment": null}, "clickthrough_1": {"type": "integer", "index": 9, "name": "clickthrough_1", "comment": null}, "clickthrough_1_gross": {"type": "integer", "index": 10, "name": "clickthrough_1_gross", "comment": null}, "cpc_in_micro_dollar": {"type": "double precision", "index": 11, "name": "cpc_in_micro_dollar", "comment": null}, "cpm_in_micro_dollar": {"type": "double precision", "index": 12, "name": "cpm_in_micro_dollar", "comment": null}, "ctr": {"type": "double precision", "index": 13, "name": "ctr", "comment": null}, "ecpc_in_micro_dollar": {"type": "double precision", "index": 14, "name": "ecpc_in_micro_dollar", "comment": null}, "ecpm_in_micro_dollar": {"type": "double precision", "index": 15, "name": "ecpm_in_micro_dollar", "comment": null}, "ectr": {"type": "double precision", "index": 16, "name": "ectr", "comment": null}, "engagement_1": {"type": "integer", "index": 17, "name": "engagement_1", "comment": null}, "impression_1": {"type": "integer", "index": 18, "name": "impression_1", "comment": null}, "impression_1_gross": {"type": "integer", "index": 19, "name": "impression_1_gross", "comment": null}, "outbound_click_1": {"type": "integer", "index": 20, "name": "outbound_click_1", "comment": null}, "paid_impression": {"type": "integer", "index": 21, "name": "paid_impression", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 22, "name": "spend_in_micro_dollar", "comment": null}, "total_engagement": {"type": "integer", "index": 23, "name": "total_engagement", "comment": null}, "total_impression_frequency": {"type": "double precision", "index": 24, "name": "total_impression_frequency", "comment": null}, "total_impression_user": {"type": "integer", "index": 25, "name": "total_impression_user", "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.pinterest_source_integration_tests.campaign_report_data"}, "seed.pinterest_source_integration_tests.keyword_history_data": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "keyword_history_data", "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}, "ad_group_id": {"type": "bigint", "index": 3, "name": "ad_group_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 4, "name": "advertiser_id", "comment": null}, "archived": {"type": "boolean", "index": 5, "name": "archived", "comment": null}, "bid": {"type": "integer", "index": 6, "name": "bid", "comment": null}, "campaign_id": {"type": "bigint", "index": 7, "name": "campaign_id", "comment": null}, "id": {"type": "bigint", "index": 8, "name": "id", "comment": null}, "match_type": {"type": "text", "index": 9, "name": "match_type", "comment": null}, "parent_type": {"type": "text", "index": 10, "name": "parent_type", "comment": null}, "value": {"type": "text", "index": 11, "name": "value", "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.pinterest_source_integration_tests.keyword_history_data"}, "seed.pinterest_source_integration_tests.keyword_report_data": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "keyword_report_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"ad_group_id": {"type": "bigint", "index": 1, "name": "ad_group_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 2, "name": "advertiser_id", "comment": null}, "campaign_id": {"type": "bigint", "index": 3, "name": "campaign_id", "comment": null}, "date": {"type": "timestamp without time zone", "index": 4, "name": "date", "comment": null}, "keyword_id": {"type": "bigint", "index": 5, "name": "keyword_id", "comment": null}, "pin_id": {"type": "bigint", "index": 6, "name": "pin_id", "comment": null}, "pin_promotion_id": {"type": "bigint", "index": 7, "name": "pin_promotion_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 8, "name": "_fivetran_synced", "comment": null}, "ad_group_name": {"type": "text", "index": 9, "name": "ad_group_name", "comment": null}, "ad_group_status": {"type": "text", "index": 10, "name": "ad_group_status", "comment": null}, "campaign_daily_spend_cap": {"type": "integer", "index": 11, "name": "campaign_daily_spend_cap", "comment": null}, "campaign_lifetime_spend_cap": {"type": "integer", "index": 12, "name": "campaign_lifetime_spend_cap", "comment": null}, "campaign_name": {"type": "text", "index": 13, "name": "campaign_name", "comment": null}, "campaign_status": {"type": "text", "index": 14, "name": "campaign_status", "comment": null}, "clickthrough_1": {"type": "integer", "index": 15, "name": "clickthrough_1", "comment": null}, "clickthrough_1_gross": {"type": "integer", "index": 16, "name": "clickthrough_1_gross", "comment": null}, "cpc_in_micro_dollar": {"type": "integer", "index": 17, "name": "cpc_in_micro_dollar", "comment": null}, "cpm_in_micro_dollar": {"type": "double precision", "index": 18, "name": "cpm_in_micro_dollar", "comment": null}, "ctr": {"type": "integer", "index": 19, "name": "ctr", "comment": null}, "ecpc_in_micro_dollar": {"type": "integer", "index": 20, "name": "ecpc_in_micro_dollar", "comment": null}, "ecpm_in_micro_dollar": {"type": "double precision", "index": 21, "name": "ecpm_in_micro_dollar", "comment": null}, "ectr": {"type": "integer", "index": 22, "name": "ectr", "comment": null}, "engagement_1": {"type": "integer", "index": 23, "name": "engagement_1", "comment": null}, "impression_1": {"type": "integer", "index": 24, "name": "impression_1", "comment": null}, "impression_1_gross": {"type": "integer", "index": 25, "name": "impression_1_gross", "comment": null}, "outbound_click_1": {"type": "integer", "index": 26, "name": "outbound_click_1", "comment": null}, "paid_impression": {"type": "integer", "index": 27, "name": "paid_impression", "comment": null}, "pin_promotion_name": {"type": "text", "index": 28, "name": "pin_promotion_name", "comment": null}, "pin_promotion_status": {"type": "text", "index": 29, "name": "pin_promotion_status", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 30, "name": "spend_in_micro_dollar", "comment": null}, "targeting_type": {"type": "text", "index": 31, "name": "targeting_type", "comment": null}, "targeting_value": {"type": "text", "index": 32, "name": "targeting_value", "comment": null}, "total_engagement": {"type": "integer", "index": 33, "name": "total_engagement", "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.pinterest_source_integration_tests.keyword_report_data"}, "seed.pinterest_source_integration_tests.pin_promotion_history_data": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "pin_promotion_history_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "ad_group_id": {"type": "bigint", "index": 2, "name": "ad_group_id", "comment": null}, "created_time": {"type": "text", "index": 3, "name": "created_time", "comment": null}, "destination_url": {"type": "text", "index": 4, "name": "destination_url", "comment": null}, "name": {"type": "text", "index": 5, "name": "name", "comment": null}, "pin_id": {"type": "bigint", "index": 6, "name": "pin_id", "comment": null}, "status": {"type": "text", "index": 7, "name": "status", "comment": null}, "creative_type": {"type": "text", "index": 8, "name": "creative_type", "comment": null}, "_fivetran_synced": {"type": "text", "index": 9, "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.pinterest_source_integration_tests.pin_promotion_history_data"}, "seed.pinterest_source_integration_tests.pin_promotion_report_data": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "pin_promotion_report_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"date": {"type": "text", "index": 1, "name": "date", "comment": null}, "pin_promotion_id": {"type": "bigint", "index": 2, "name": "pin_promotion_id", "comment": null}, "ad_group_id": {"type": "bigint", "index": 3, "name": "ad_group_id", "comment": null}, "campaign_id": {"type": "bigint", "index": 4, "name": "campaign_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 5, "name": "advertiser_id", "comment": null}, "_fivetran_synced": {"type": "text", "index": 6, "name": "_fivetran_synced", "comment": null}, "impression_1": {"type": "integer", "index": 7, "name": "impression_1", "comment": null}, "impression_2": {"type": "integer", "index": 8, "name": "impression_2", "comment": null}, "clickthrough_1": {"type": "integer", "index": 9, "name": "clickthrough_1", "comment": null}, "clickthrough_2": {"type": "integer", "index": 10, "name": "clickthrough_2", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 11, "name": "spend_in_micro_dollar", "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.pinterest_source_integration_tests.pin_promotion_report_data"}, "model.pinterest_source.stg_pinterest_ads__ad_group_history": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__ad_group_history", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"ad_group_id": {"type": "bigint", "index": 1, "name": "ad_group_id", "comment": null}, "ad_group_name": {"type": "text", "index": 2, "name": "ad_group_name", "comment": null}, "ad_group_status": {"type": "text", "index": 3, "name": "ad_group_status", "comment": null}, "_fivetran_synced": {"type": "text", "index": 4, "name": "_fivetran_synced", "comment": null}, "campaign_id": {"type": "bigint", "index": 5, "name": "campaign_id", "comment": null}, "created_at": {"type": "text", "index": 6, "name": "created_at", "comment": null}, "end_time": {"type": "integer", "index": 7, "name": "end_time", "comment": null}, "start_time": {"type": "text", "index": 8, "name": "start_time", "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.pinterest_source.stg_pinterest_ads__ad_group_history"}, "model.pinterest_source.stg_pinterest_ads__ad_group_history_tmp": {"metadata": {"type": "VIEW", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__ad_group_history_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "campaign_id": {"type": "bigint", "index": 2, "name": "campaign_id", "comment": null}, "created_time": {"type": "text", "index": 3, "name": "created_time", "comment": null}, "name": {"type": "text", "index": 4, "name": "name", "comment": null}, "status": {"type": "text", "index": 5, "name": "status", "comment": null}, "start_time": {"type": "text", "index": 6, "name": "start_time", "comment": null}, "end_time": {"type": "integer", "index": 7, "name": "end_time", "comment": null}, "_fivetran_synced": {"type": "text", "index": 8, "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.pinterest_source.stg_pinterest_ads__ad_group_history_tmp"}, "model.pinterest_source.stg_pinterest_ads__ad_group_report": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__ad_group_report", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"date_day": {"type": "timestamp without time zone", "index": 1, "name": "date_day", "comment": null}, "ad_group_id": {"type": "bigint", "index": 2, "name": "ad_group_id", "comment": null}, "ad_group_name": {"type": "text", "index": 3, "name": "ad_group_name", "comment": null}, "ad_group_status": {"type": "text", "index": 4, "name": "ad_group_status", "comment": null}, "campaign_id": {"type": "bigint", "index": 5, "name": "campaign_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 6, "name": "advertiser_id", "comment": null}, "impressions": {"type": "integer", "index": 7, "name": "impressions", "comment": null}, "clicks": {"type": "integer", "index": 8, "name": "clicks", "comment": null}, "spend": {"type": "numeric", "index": 9, "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.pinterest_source.stg_pinterest_ads__ad_group_report"}, "model.pinterest_source.stg_pinterest_ads__ad_group_report_tmp": {"metadata": {"type": "VIEW", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__ad_group_report_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"ad_group_id": {"type": "bigint", "index": 1, "name": "ad_group_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 2, "name": "advertiser_id", "comment": null}, "date": {"type": "timestamp without time zone", "index": 3, "name": "date", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 4, "name": "_fivetran_synced", "comment": null}, "ad_group_name": {"type": "text", "index": 5, "name": "ad_group_name", "comment": null}, "ad_group_status": {"type": "text", "index": 6, "name": "ad_group_status", "comment": null}, "campaign_daily_spend_cap": {"type": "integer", "index": 7, "name": "campaign_daily_spend_cap", "comment": null}, "campaign_id": {"type": "bigint", "index": 8, "name": "campaign_id", "comment": null}, "campaign_lifetime_spend_cap": {"type": "integer", "index": 9, "name": "campaign_lifetime_spend_cap", "comment": null}, "campaign_name": {"type": "text", "index": 10, "name": "campaign_name", "comment": null}, "campaign_status": {"type": "text", "index": 11, "name": "campaign_status", "comment": null}, "clickthrough_1": {"type": "integer", "index": 12, "name": "clickthrough_1", "comment": null}, "clickthrough_1_gross": {"type": "integer", "index": 13, "name": "clickthrough_1_gross", "comment": null}, "cpc_in_micro_dollar": {"type": "double precision", "index": 14, "name": "cpc_in_micro_dollar", "comment": null}, "cpm_in_micro_dollar": {"type": "double precision", "index": 15, "name": "cpm_in_micro_dollar", "comment": null}, "ctr": {"type": "double precision", "index": 16, "name": "ctr", "comment": null}, "ecpc_in_micro_dollar": {"type": "double precision", "index": 17, "name": "ecpc_in_micro_dollar", "comment": null}, "ecpm_in_micro_dollar": {"type": "double precision", "index": 18, "name": "ecpm_in_micro_dollar", "comment": null}, "ectr": {"type": "double precision", "index": 19, "name": "ectr", "comment": null}, "engagement_1": {"type": "integer", "index": 20, "name": "engagement_1", "comment": null}, "impression_1": {"type": "integer", "index": 21, "name": "impression_1", "comment": null}, "impression_1_gross": {"type": "integer", "index": 22, "name": "impression_1_gross", "comment": null}, "outbound_click_1": {"type": "integer", "index": 23, "name": "outbound_click_1", "comment": null}, "paid_impression": {"type": "integer", "index": 24, "name": "paid_impression", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 25, "name": "spend_in_micro_dollar", "comment": null}, "total_engagement": {"type": "integer", "index": 26, "name": "total_engagement", "comment": null}, "total_impression_frequency": {"type": "double precision", "index": 27, "name": "total_impression_frequency", "comment": null}, "total_impression_user": {"type": "integer", "index": 28, "name": "total_impression_user", "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.pinterest_source.stg_pinterest_ads__ad_group_report_tmp"}, "model.pinterest_source.stg_pinterest_ads__advertiser_history": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__advertiser_history", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"advertiser_id": {"type": "bigint", "index": 1, "name": "advertiser_id", "comment": null}, "advertiser_name": {"type": "text", "index": 2, "name": "advertiser_name", "comment": null}, "advertiser_status": {"type": "text", "index": 3, "name": "advertiser_status", "comment": null}, "billing_profile_status": {"type": "text", "index": 4, "name": "billing_profile_status", "comment": null}, "billing_type": {"type": "text", "index": 5, "name": "billing_type", "comment": null}, "country": {"type": "text", "index": 6, "name": "country", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 7, "name": "created_at", "comment": null}, "currency_code": {"type": "text", "index": 8, "name": "currency_code", "comment": null}, "merchant_id": {"type": "integer", "index": 9, "name": "merchant_id", "comment": null}, "owner_user_id": {"type": "integer", "index": 10, "name": "owner_user_id", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 11, "name": "updated_at", "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.pinterest_source.stg_pinterest_ads__advertiser_history"}, "model.pinterest_source.stg_pinterest_ads__advertiser_history_tmp": {"metadata": {"type": "VIEW", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__advertiser_history_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "updated_time": {"type": "timestamp without time zone", "index": 2, "name": "updated_time", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "billing_profile_status": {"type": "text", "index": 4, "name": "billing_profile_status", "comment": null}, "billing_type": {"type": "text", "index": 5, "name": "billing_type", "comment": null}, "country": {"type": "text", "index": 6, "name": "country", "comment": null}, "created_time": {"type": "timestamp without time zone", "index": 7, "name": "created_time", "comment": null}, "currency": {"type": "text", "index": 8, "name": "currency", "comment": null}, "merchant_id": {"type": "integer", "index": 9, "name": "merchant_id", "comment": null}, "name": {"type": "text", "index": 10, "name": "name", "comment": null}, "owner_user_id": {"type": "integer", "index": 11, "name": "owner_user_id", "comment": null}, "status": {"type": "text", "index": 12, "name": "status", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.pinterest_source.stg_pinterest_ads__advertiser_history_tmp"}, "model.pinterest_source.stg_pinterest_ads__advertiser_report": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__advertiser_report", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"date_day": {"type": "timestamp without time zone", "index": 1, "name": "date_day", "comment": null}, "advertiser_id": {"type": "bigint", "index": 2, "name": "advertiser_id", "comment": null}, "impressions": {"type": "integer", "index": 3, "name": "impressions", "comment": null}, "clicks": {"type": "integer", "index": 4, "name": "clicks", "comment": null}, "spend": {"type": "numeric", "index": 5, "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.pinterest_source.stg_pinterest_ads__advertiser_report"}, "model.pinterest_source.stg_pinterest_ads__advertiser_report_tmp": {"metadata": {"type": "VIEW", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__advertiser_report_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"advertiser_id": {"type": "bigint", "index": 1, "name": "advertiser_id", "comment": null}, "date": {"type": "timestamp without time zone", "index": 2, "name": "date", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "clickthrough_1": {"type": "integer", "index": 4, "name": "clickthrough_1", "comment": null}, "clickthrough_1_gross": {"type": "integer", "index": 5, "name": "clickthrough_1_gross", "comment": null}, "cpc_in_micro_dollar": {"type": "double precision", "index": 6, "name": "cpc_in_micro_dollar", "comment": null}, "cpm_in_micro_dollar": {"type": "double precision", "index": 7, "name": "cpm_in_micro_dollar", "comment": null}, "ctr": {"type": "double precision", "index": 8, "name": "ctr", "comment": null}, "ecpc_in_micro_dollar": {"type": "double precision", "index": 9, "name": "ecpc_in_micro_dollar", "comment": null}, "ecpm_in_micro_dollar": {"type": "double precision", "index": 10, "name": "ecpm_in_micro_dollar", "comment": null}, "ectr": {"type": "double precision", "index": 11, "name": "ectr", "comment": null}, "engagement_1": {"type": "integer", "index": 12, "name": "engagement_1", "comment": null}, "impression_1": {"type": "integer", "index": 13, "name": "impression_1", "comment": null}, "impression_1_gross": {"type": "integer", "index": 14, "name": "impression_1_gross", "comment": null}, "outbound_click_1": {"type": "integer", "index": 15, "name": "outbound_click_1", "comment": null}, "paid_impression": {"type": "integer", "index": 16, "name": "paid_impression", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 17, "name": "spend_in_micro_dollar", "comment": null}, "total_engagement": {"type": "integer", "index": 18, "name": "total_engagement", "comment": null}, "total_impression_frequency": {"type": "double precision", "index": 19, "name": "total_impression_frequency", "comment": null}, "total_impression_user": {"type": "integer", "index": 20, "name": "total_impression_user", "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.pinterest_source.stg_pinterest_ads__advertiser_report_tmp"}, "model.pinterest_source.stg_pinterest_ads__campaign_history": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__campaign_history", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"campaign_id": {"type": "bigint", "index": 1, "name": "campaign_id", "comment": null}, "campaign_name": {"type": "text", "index": 2, "name": "campaign_name", "comment": null}, "advertiser_id": {"type": "bigint", "index": 3, "name": "advertiser_id", "comment": null}, "campaign_status": {"type": "text", "index": 4, "name": "campaign_status", "comment": null}, "_fivetran_synced": {"type": "text", "index": 5, "name": "_fivetran_synced", "comment": null}, "created_at": {"type": "text", "index": 6, "name": "created_at", "comment": null}, "is_most_recent_record": {"type": "boolean", "index": 7, "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.pinterest_source.stg_pinterest_ads__campaign_history"}, "model.pinterest_source.stg_pinterest_ads__campaign_history_tmp": {"metadata": {"type": "VIEW", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__campaign_history_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "created_time": {"type": "text", "index": 2, "name": "created_time", "comment": null}, "name": {"type": "text", "index": 3, "name": "name", "comment": null}, "status": {"type": "text", "index": 4, "name": "status", "comment": null}, "_fivetran_synced": {"type": "text", "index": 5, "name": "_fivetran_synced", "comment": null}, "advertiser_id": {"type": "bigint", "index": 6, "name": "advertiser_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.pinterest_source.stg_pinterest_ads__campaign_history_tmp"}, "model.pinterest_source.stg_pinterest_ads__campaign_report": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__campaign_report", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"date_day": {"type": "timestamp without time zone", "index": 1, "name": "date_day", "comment": null}, "campaign_id": {"type": "bigint", "index": 2, "name": "campaign_id", "comment": null}, "campaign_name": {"type": "text", "index": 3, "name": "campaign_name", "comment": null}, "campaign_status": {"type": "text", "index": 4, "name": "campaign_status", "comment": null}, "advertiser_id": {"type": "bigint", "index": 5, "name": "advertiser_id", "comment": null}, "impressions": {"type": "integer", "index": 6, "name": "impressions", "comment": null}, "clicks": {"type": "integer", "index": 7, "name": "clicks", "comment": null}, "spend": {"type": "numeric", "index": 8, "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.pinterest_source.stg_pinterest_ads__campaign_report"}, "model.pinterest_source.stg_pinterest_ads__campaign_report_tmp": {"metadata": {"type": "VIEW", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__campaign_report_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"advertiser_id": {"type": "bigint", "index": 1, "name": "advertiser_id", "comment": null}, "campaign_id": {"type": "bigint", "index": 2, "name": "campaign_id", "comment": null}, "date": {"type": "timestamp without time zone", "index": 3, "name": "date", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 4, "name": "_fivetran_synced", "comment": null}, "campaign_daily_spend_cap": {"type": "integer", "index": 5, "name": "campaign_daily_spend_cap", "comment": null}, "campaign_lifetime_spend_cap": {"type": "integer", "index": 6, "name": "campaign_lifetime_spend_cap", "comment": null}, "campaign_name": {"type": "text", "index": 7, "name": "campaign_name", "comment": null}, "campaign_status": {"type": "text", "index": 8, "name": "campaign_status", "comment": null}, "clickthrough_1": {"type": "integer", "index": 9, "name": "clickthrough_1", "comment": null}, "clickthrough_1_gross": {"type": "integer", "index": 10, "name": "clickthrough_1_gross", "comment": null}, "cpc_in_micro_dollar": {"type": "double precision", "index": 11, "name": "cpc_in_micro_dollar", "comment": null}, "cpm_in_micro_dollar": {"type": "double precision", "index": 12, "name": "cpm_in_micro_dollar", "comment": null}, "ctr": {"type": "double precision", "index": 13, "name": "ctr", "comment": null}, "ecpc_in_micro_dollar": {"type": "double precision", "index": 14, "name": "ecpc_in_micro_dollar", "comment": null}, "ecpm_in_micro_dollar": {"type": "double precision", "index": 15, "name": "ecpm_in_micro_dollar", "comment": null}, "ectr": {"type": "double precision", "index": 16, "name": "ectr", "comment": null}, "engagement_1": {"type": "integer", "index": 17, "name": "engagement_1", "comment": null}, "impression_1": {"type": "integer", "index": 18, "name": "impression_1", "comment": null}, "impression_1_gross": {"type": "integer", "index": 19, "name": "impression_1_gross", "comment": null}, "outbound_click_1": {"type": "integer", "index": 20, "name": "outbound_click_1", "comment": null}, "paid_impression": {"type": "integer", "index": 21, "name": "paid_impression", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 22, "name": "spend_in_micro_dollar", "comment": null}, "total_engagement": {"type": "integer", "index": 23, "name": "total_engagement", "comment": null}, "total_impression_frequency": {"type": "double precision", "index": 24, "name": "total_impression_frequency", "comment": null}, "total_impression_user": {"type": "integer", "index": 25, "name": "total_impression_user", "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.pinterest_source.stg_pinterest_ads__campaign_report_tmp"}, "model.pinterest_source.stg_pinterest_ads__keyword_history": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__keyword_history", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"keyword_id": {"type": "bigint", "index": 1, "name": "keyword_id", "comment": null}, "keyword_value": {"type": "text", "index": 2, "name": "keyword_value", "comment": null}, "_fivetran_id": {"type": "text", "index": 3, "name": "_fivetran_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 4, "name": "_fivetran_synced", "comment": null}, "ad_group_id": {"type": "bigint", "index": 5, "name": "ad_group_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 6, "name": "advertiser_id", "comment": null}, "archived": {"type": "boolean", "index": 7, "name": "archived", "comment": null}, "bid": {"type": "integer", "index": 8, "name": "bid", "comment": null}, "campaign_id": {"type": "bigint", "index": 9, "name": "campaign_id", "comment": null}, "match_type": {"type": "text", "index": 10, "name": "match_type", "comment": null}, "parent_type": {"type": "text", "index": 11, "name": "parent_type", "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.pinterest_source.stg_pinterest_ads__keyword_history"}, "model.pinterest_source.stg_pinterest_ads__keyword_history_tmp": {"metadata": {"type": "VIEW", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__keyword_history_tmp", "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}, "ad_group_id": {"type": "bigint", "index": 3, "name": "ad_group_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 4, "name": "advertiser_id", "comment": null}, "archived": {"type": "boolean", "index": 5, "name": "archived", "comment": null}, "bid": {"type": "integer", "index": 6, "name": "bid", "comment": null}, "campaign_id": {"type": "bigint", "index": 7, "name": "campaign_id", "comment": null}, "id": {"type": "bigint", "index": 8, "name": "id", "comment": null}, "match_type": {"type": "text", "index": 9, "name": "match_type", "comment": null}, "parent_type": {"type": "text", "index": 10, "name": "parent_type", "comment": null}, "value": {"type": "text", "index": 11, "name": "value", "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.pinterest_source.stg_pinterest_ads__keyword_history_tmp"}, "model.pinterest_source.stg_pinterest_ads__keyword_report": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__keyword_report", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"date_day": {"type": "timestamp without time zone", "index": 1, "name": "date_day", "comment": null}, "keyword_id": {"type": "bigint", "index": 2, "name": "keyword_id", "comment": null}, "pin_promotion_id": {"type": "bigint", "index": 3, "name": "pin_promotion_id", "comment": null}, "ad_group_id": {"type": "bigint", "index": 4, "name": "ad_group_id", "comment": null}, "ad_group_name": {"type": "text", "index": 5, "name": "ad_group_name", "comment": null}, "ad_group_status": {"type": "text", "index": 6, "name": "ad_group_status", "comment": null}, "campaign_id": {"type": "bigint", "index": 7, "name": "campaign_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 8, "name": "advertiser_id", "comment": null}, "impressions": {"type": "integer", "index": 9, "name": "impressions", "comment": null}, "clicks": {"type": "integer", "index": 10, "name": "clicks", "comment": null}, "spend": {"type": "numeric", "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.pinterest_source.stg_pinterest_ads__keyword_report"}, "model.pinterest_source.stg_pinterest_ads__keyword_report_tmp": {"metadata": {"type": "VIEW", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__keyword_report_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"ad_group_id": {"type": "bigint", "index": 1, "name": "ad_group_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 2, "name": "advertiser_id", "comment": null}, "campaign_id": {"type": "bigint", "index": 3, "name": "campaign_id", "comment": null}, "date": {"type": "timestamp without time zone", "index": 4, "name": "date", "comment": null}, "keyword_id": {"type": "bigint", "index": 5, "name": "keyword_id", "comment": null}, "pin_id": {"type": "bigint", "index": 6, "name": "pin_id", "comment": null}, "pin_promotion_id": {"type": "bigint", "index": 7, "name": "pin_promotion_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 8, "name": "_fivetran_synced", "comment": null}, "ad_group_name": {"type": "text", "index": 9, "name": "ad_group_name", "comment": null}, "ad_group_status": {"type": "text", "index": 10, "name": "ad_group_status", "comment": null}, "campaign_daily_spend_cap": {"type": "integer", "index": 11, "name": "campaign_daily_spend_cap", "comment": null}, "campaign_lifetime_spend_cap": {"type": "integer", "index": 12, "name": "campaign_lifetime_spend_cap", "comment": null}, "campaign_name": {"type": "text", "index": 13, "name": "campaign_name", "comment": null}, "campaign_status": {"type": "text", "index": 14, "name": "campaign_status", "comment": null}, "clickthrough_1": {"type": "integer", "index": 15, "name": "clickthrough_1", "comment": null}, "clickthrough_1_gross": {"type": "integer", "index": 16, "name": "clickthrough_1_gross", "comment": null}, "cpc_in_micro_dollar": {"type": "integer", "index": 17, "name": "cpc_in_micro_dollar", "comment": null}, "cpm_in_micro_dollar": {"type": "double precision", "index": 18, "name": "cpm_in_micro_dollar", "comment": null}, "ctr": {"type": "integer", "index": 19, "name": "ctr", "comment": null}, "ecpc_in_micro_dollar": {"type": "integer", "index": 20, "name": "ecpc_in_micro_dollar", "comment": null}, "ecpm_in_micro_dollar": {"type": "double precision", "index": 21, "name": "ecpm_in_micro_dollar", "comment": null}, "ectr": {"type": "integer", "index": 22, "name": "ectr", "comment": null}, "engagement_1": {"type": "integer", "index": 23, "name": "engagement_1", "comment": null}, "impression_1": {"type": "integer", "index": 24, "name": "impression_1", "comment": null}, "impression_1_gross": {"type": "integer", "index": 25, "name": "impression_1_gross", "comment": null}, "outbound_click_1": {"type": "integer", "index": 26, "name": "outbound_click_1", "comment": null}, "paid_impression": {"type": "integer", "index": 27, "name": "paid_impression", "comment": null}, "pin_promotion_name": {"type": "text", "index": 28, "name": "pin_promotion_name", "comment": null}, "pin_promotion_status": {"type": "text", "index": 29, "name": "pin_promotion_status", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 30, "name": "spend_in_micro_dollar", "comment": null}, "targeting_type": {"type": "text", "index": 31, "name": "targeting_type", "comment": null}, "targeting_value": {"type": "text", "index": 32, "name": "targeting_value", "comment": null}, "total_engagement": {"type": "integer", "index": 33, "name": "total_engagement", "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.pinterest_source.stg_pinterest_ads__keyword_report_tmp"}, "model.pinterest_source.stg_pinterest_ads__pin_promotion_history": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__pin_promotion_history", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"pin_promotion_id": {"type": "bigint", "index": 1, "name": "pin_promotion_id", "comment": null}, "ad_group_id": {"type": "bigint", "index": 2, "name": "ad_group_id", "comment": null}, "created_at": {"type": "text", "index": 3, "name": "created_at", "comment": null}, "destination_url": {"type": "text", "index": 4, "name": "destination_url", "comment": null}, "base_url": {"type": "text", "index": 5, "name": "base_url", "comment": null}, "url_host": {"type": "character varying", "index": 6, "name": "url_host", "comment": null}, "url_path": {"type": "text", "index": 7, "name": "url_path", "comment": null}, "utm_source": {"type": "text", "index": 8, "name": "utm_source", "comment": null}, "utm_medium": {"type": "text", "index": 9, "name": "utm_medium", "comment": null}, "utm_campaign": {"type": "text", "index": 10, "name": "utm_campaign", "comment": null}, "utm_content": {"type": "text", "index": 11, "name": "utm_content", "comment": null}, "utm_term": {"type": "text", "index": 12, "name": "utm_term", "comment": null}, "pin_name": {"type": "text", "index": 13, "name": "pin_name", "comment": null}, "pin_id": {"type": "bigint", "index": 14, "name": "pin_id", "comment": null}, "pin_status": {"type": "text", "index": 15, "name": "pin_status", "comment": null}, "creative_type": {"type": "text", "index": 16, "name": "creative_type", "comment": null}, "_fivetran_synced": {"type": "text", "index": 17, "name": "_fivetran_synced", "comment": null}, "is_most_recent_record": {"type": "boolean", "index": 18, "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.pinterest_source.stg_pinterest_ads__pin_promotion_history"}, "model.pinterest_source.stg_pinterest_ads__pin_promotion_history_tmp": {"metadata": {"type": "VIEW", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__pin_promotion_history_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "ad_group_id": {"type": "bigint", "index": 2, "name": "ad_group_id", "comment": null}, "created_time": {"type": "text", "index": 3, "name": "created_time", "comment": null}, "destination_url": {"type": "text", "index": 4, "name": "destination_url", "comment": null}, "name": {"type": "text", "index": 5, "name": "name", "comment": null}, "pin_id": {"type": "bigint", "index": 6, "name": "pin_id", "comment": null}, "status": {"type": "text", "index": 7, "name": "status", "comment": null}, "creative_type": {"type": "text", "index": 8, "name": "creative_type", "comment": null}, "_fivetran_synced": {"type": "text", "index": 9, "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.pinterest_source.stg_pinterest_ads__pin_promotion_history_tmp"}, "model.pinterest_source.stg_pinterest_ads__pin_promotion_report": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__pin_promotion_report", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"date_day": {"type": "text", "index": 1, "name": "date_day", "comment": null}, "pin_promotion_id": {"type": "bigint", "index": 2, "name": "pin_promotion_id", "comment": null}, "ad_group_id": {"type": "bigint", "index": 3, "name": "ad_group_id", "comment": null}, "campaign_id": {"type": "bigint", "index": 4, "name": "campaign_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 5, "name": "advertiser_id", "comment": null}, "impressions": {"type": "integer", "index": 6, "name": "impressions", "comment": null}, "clicks": {"type": "integer", "index": 7, "name": "clicks", "comment": null}, "spend": {"type": "numeric", "index": 8, "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.pinterest_source.stg_pinterest_ads__pin_promotion_report"}, "model.pinterest_source.stg_pinterest_ads__pin_promotion_report_tmp": {"metadata": {"type": "VIEW", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__pin_promotion_report_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"date": {"type": "text", "index": 1, "name": "date", "comment": null}, "pin_promotion_id": {"type": "bigint", "index": 2, "name": "pin_promotion_id", "comment": null}, "ad_group_id": {"type": "bigint", "index": 3, "name": "ad_group_id", "comment": null}, "campaign_id": {"type": "bigint", "index": 4, "name": "campaign_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 5, "name": "advertiser_id", "comment": null}, "_fivetran_synced": {"type": "text", "index": 6, "name": "_fivetran_synced", "comment": null}, "impression_1": {"type": "integer", "index": 7, "name": "impression_1", "comment": null}, "impression_2": {"type": "integer", "index": 8, "name": "impression_2", "comment": null}, "clickthrough_1": {"type": "integer", "index": 9, "name": "clickthrough_1", "comment": null}, "clickthrough_2": {"type": "integer", "index": 10, "name": "clickthrough_2", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 11, "name": "spend_in_micro_dollar", "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.pinterest_source.stg_pinterest_ads__pin_promotion_report_tmp"}}, "sources": {"source.pinterest_source.pinterest_ads.ad_group_history": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "ad_group_history_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "campaign_id": {"type": "bigint", "index": 2, "name": "campaign_id", "comment": null}, "created_time": {"type": "text", "index": 3, "name": "created_time", "comment": null}, "name": {"type": "text", "index": 4, "name": "name", "comment": null}, "status": {"type": "text", "index": 5, "name": "status", "comment": null}, "start_time": {"type": "text", "index": 6, "name": "start_time", "comment": null}, "end_time": {"type": "integer", "index": 7, "name": "end_time", "comment": null}, "_fivetran_synced": {"type": "text", "index": 8, "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.pinterest_source.pinterest_ads.ad_group_history"}, "source.pinterest_source.pinterest_ads.ad_group_report": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "ad_group_report_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"ad_group_id": {"type": "bigint", "index": 1, "name": "ad_group_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 2, "name": "advertiser_id", "comment": null}, "date": {"type": "timestamp without time zone", "index": 3, "name": "date", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 4, "name": "_fivetran_synced", "comment": null}, "ad_group_name": {"type": "text", "index": 5, "name": "ad_group_name", "comment": null}, "ad_group_status": {"type": "text", "index": 6, "name": "ad_group_status", "comment": null}, "campaign_daily_spend_cap": {"type": "integer", "index": 7, "name": "campaign_daily_spend_cap", "comment": null}, "campaign_id": {"type": "bigint", "index": 8, "name": "campaign_id", "comment": null}, "campaign_lifetime_spend_cap": {"type": "integer", "index": 9, "name": "campaign_lifetime_spend_cap", "comment": null}, "campaign_name": {"type": "text", "index": 10, "name": "campaign_name", "comment": null}, "campaign_status": {"type": "text", "index": 11, "name": "campaign_status", "comment": null}, "clickthrough_1": {"type": "integer", "index": 12, "name": "clickthrough_1", "comment": null}, "clickthrough_1_gross": {"type": "integer", "index": 13, "name": "clickthrough_1_gross", "comment": null}, "cpc_in_micro_dollar": {"type": "double precision", "index": 14, "name": "cpc_in_micro_dollar", "comment": null}, "cpm_in_micro_dollar": {"type": "double precision", "index": 15, "name": "cpm_in_micro_dollar", "comment": null}, "ctr": {"type": "double precision", "index": 16, "name": "ctr", "comment": null}, "ecpc_in_micro_dollar": {"type": "double precision", "index": 17, "name": "ecpc_in_micro_dollar", "comment": null}, "ecpm_in_micro_dollar": {"type": "double precision", "index": 18, "name": "ecpm_in_micro_dollar", "comment": null}, "ectr": {"type": "double precision", "index": 19, "name": "ectr", "comment": null}, "engagement_1": {"type": "integer", "index": 20, "name": "engagement_1", "comment": null}, "impression_1": {"type": "integer", "index": 21, "name": "impression_1", "comment": null}, "impression_1_gross": {"type": "integer", "index": 22, "name": "impression_1_gross", "comment": null}, "outbound_click_1": {"type": "integer", "index": 23, "name": "outbound_click_1", "comment": null}, "paid_impression": {"type": "integer", "index": 24, "name": "paid_impression", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 25, "name": "spend_in_micro_dollar", "comment": null}, "total_engagement": {"type": "integer", "index": 26, "name": "total_engagement", "comment": null}, "total_impression_frequency": {"type": "double precision", "index": 27, "name": "total_impression_frequency", "comment": null}, "total_impression_user": {"type": "integer", "index": 28, "name": "total_impression_user", "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.pinterest_source.pinterest_ads.ad_group_report"}, "source.pinterest_source.pinterest_ads.advertiser_history": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "advertiser_history_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "updated_time": {"type": "timestamp without time zone", "index": 2, "name": "updated_time", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "billing_profile_status": {"type": "text", "index": 4, "name": "billing_profile_status", "comment": null}, "billing_type": {"type": "text", "index": 5, "name": "billing_type", "comment": null}, "country": {"type": "text", "index": 6, "name": "country", "comment": null}, "created_time": {"type": "timestamp without time zone", "index": 7, "name": "created_time", "comment": null}, "currency": {"type": "text", "index": 8, "name": "currency", "comment": null}, "merchant_id": {"type": "integer", "index": 9, "name": "merchant_id", "comment": null}, "name": {"type": "text", "index": 10, "name": "name", "comment": null}, "owner_user_id": {"type": "integer", "index": 11, "name": "owner_user_id", "comment": null}, "status": {"type": "text", "index": 12, "name": "status", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.pinterest_source.pinterest_ads.advertiser_history"}, "source.pinterest_source.pinterest_ads.advertiser_report": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "advertiser_report_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"advertiser_id": {"type": "bigint", "index": 1, "name": "advertiser_id", "comment": null}, "date": {"type": "timestamp without time zone", "index": 2, "name": "date", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "clickthrough_1": {"type": "integer", "index": 4, "name": "clickthrough_1", "comment": null}, "clickthrough_1_gross": {"type": "integer", "index": 5, "name": "clickthrough_1_gross", "comment": null}, "cpc_in_micro_dollar": {"type": "double precision", "index": 6, "name": "cpc_in_micro_dollar", "comment": null}, "cpm_in_micro_dollar": {"type": "double precision", "index": 7, "name": "cpm_in_micro_dollar", "comment": null}, "ctr": {"type": "double precision", "index": 8, "name": "ctr", "comment": null}, "ecpc_in_micro_dollar": {"type": "double precision", "index": 9, "name": "ecpc_in_micro_dollar", "comment": null}, "ecpm_in_micro_dollar": {"type": "double precision", "index": 10, "name": "ecpm_in_micro_dollar", "comment": null}, "ectr": {"type": "double precision", "index": 11, "name": "ectr", "comment": null}, "engagement_1": {"type": "integer", "index": 12, "name": "engagement_1", "comment": null}, "impression_1": {"type": "integer", "index": 13, "name": "impression_1", "comment": null}, "impression_1_gross": {"type": "integer", "index": 14, "name": "impression_1_gross", "comment": null}, "outbound_click_1": {"type": "integer", "index": 15, "name": "outbound_click_1", "comment": null}, "paid_impression": {"type": "integer", "index": 16, "name": "paid_impression", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 17, "name": "spend_in_micro_dollar", "comment": null}, "total_engagement": {"type": "integer", "index": 18, "name": "total_engagement", "comment": null}, "total_impression_frequency": {"type": "double precision", "index": 19, "name": "total_impression_frequency", "comment": null}, "total_impression_user": {"type": "integer", "index": 20, "name": "total_impression_user", "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.pinterest_source.pinterest_ads.advertiser_report"}, "source.pinterest_source.pinterest_ads.campaign_history": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "campaign_history_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "created_time": {"type": "text", "index": 2, "name": "created_time", "comment": null}, "name": {"type": "text", "index": 3, "name": "name", "comment": null}, "status": {"type": "text", "index": 4, "name": "status", "comment": null}, "_fivetran_synced": {"type": "text", "index": 5, "name": "_fivetran_synced", "comment": null}, "advertiser_id": {"type": "bigint", "index": 6, "name": "advertiser_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.pinterest_source.pinterest_ads.campaign_history"}, "source.pinterest_source.pinterest_ads.campaign_report": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "campaign_report_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"advertiser_id": {"type": "bigint", "index": 1, "name": "advertiser_id", "comment": null}, "campaign_id": {"type": "bigint", "index": 2, "name": "campaign_id", "comment": null}, "date": {"type": "timestamp without time zone", "index": 3, "name": "date", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 4, "name": "_fivetran_synced", "comment": null}, "campaign_daily_spend_cap": {"type": "integer", "index": 5, "name": "campaign_daily_spend_cap", "comment": null}, "campaign_lifetime_spend_cap": {"type": "integer", "index": 6, "name": "campaign_lifetime_spend_cap", "comment": null}, "campaign_name": {"type": "text", "index": 7, "name": "campaign_name", "comment": null}, "campaign_status": {"type": "text", "index": 8, "name": "campaign_status", "comment": null}, "clickthrough_1": {"type": "integer", "index": 9, "name": "clickthrough_1", "comment": null}, "clickthrough_1_gross": {"type": "integer", "index": 10, "name": "clickthrough_1_gross", "comment": null}, "cpc_in_micro_dollar": {"type": "double precision", "index": 11, "name": "cpc_in_micro_dollar", "comment": null}, "cpm_in_micro_dollar": {"type": "double precision", "index": 12, "name": "cpm_in_micro_dollar", "comment": null}, "ctr": {"type": "double precision", "index": 13, "name": "ctr", "comment": null}, "ecpc_in_micro_dollar": {"type": "double precision", "index": 14, "name": "ecpc_in_micro_dollar", "comment": null}, "ecpm_in_micro_dollar": {"type": "double precision", "index": 15, "name": "ecpm_in_micro_dollar", "comment": null}, "ectr": {"type": "double precision", "index": 16, "name": "ectr", "comment": null}, "engagement_1": {"type": "integer", "index": 17, "name": "engagement_1", "comment": null}, "impression_1": {"type": "integer", "index": 18, "name": "impression_1", "comment": null}, "impression_1_gross": {"type": "integer", "index": 19, "name": "impression_1_gross", "comment": null}, "outbound_click_1": {"type": "integer", "index": 20, "name": "outbound_click_1", "comment": null}, "paid_impression": {"type": "integer", "index": 21, "name": "paid_impression", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 22, "name": "spend_in_micro_dollar", "comment": null}, "total_engagement": {"type": "integer", "index": 23, "name": "total_engagement", "comment": null}, "total_impression_frequency": {"type": "double precision", "index": 24, "name": "total_impression_frequency", "comment": null}, "total_impression_user": {"type": "integer", "index": 25, "name": "total_impression_user", "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.pinterest_source.pinterest_ads.campaign_report"}, "source.pinterest_source.pinterest_ads.keyword_history": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "keyword_history_data", "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}, "ad_group_id": {"type": "bigint", "index": 3, "name": "ad_group_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 4, "name": "advertiser_id", "comment": null}, "archived": {"type": "boolean", "index": 5, "name": "archived", "comment": null}, "bid": {"type": "integer", "index": 6, "name": "bid", "comment": null}, "campaign_id": {"type": "bigint", "index": 7, "name": "campaign_id", "comment": null}, "id": {"type": "bigint", "index": 8, "name": "id", "comment": null}, "match_type": {"type": "text", "index": 9, "name": "match_type", "comment": null}, "parent_type": {"type": "text", "index": 10, "name": "parent_type", "comment": null}, "value": {"type": "text", "index": 11, "name": "value", "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.pinterest_source.pinterest_ads.keyword_history"}, "source.pinterest_source.pinterest_ads.keyword_report": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "keyword_report_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"ad_group_id": {"type": "bigint", "index": 1, "name": "ad_group_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 2, "name": "advertiser_id", "comment": null}, "campaign_id": {"type": "bigint", "index": 3, "name": "campaign_id", "comment": null}, "date": {"type": "timestamp without time zone", "index": 4, "name": "date", "comment": null}, "keyword_id": {"type": "bigint", "index": 5, "name": "keyword_id", "comment": null}, "pin_id": {"type": "bigint", "index": 6, "name": "pin_id", "comment": null}, "pin_promotion_id": {"type": "bigint", "index": 7, "name": "pin_promotion_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 8, "name": "_fivetran_synced", "comment": null}, "ad_group_name": {"type": "text", "index": 9, "name": "ad_group_name", "comment": null}, "ad_group_status": {"type": "text", "index": 10, "name": "ad_group_status", "comment": null}, "campaign_daily_spend_cap": {"type": "integer", "index": 11, "name": "campaign_daily_spend_cap", "comment": null}, "campaign_lifetime_spend_cap": {"type": "integer", "index": 12, "name": "campaign_lifetime_spend_cap", "comment": null}, "campaign_name": {"type": "text", "index": 13, "name": "campaign_name", "comment": null}, "campaign_status": {"type": "text", "index": 14, "name": "campaign_status", "comment": null}, "clickthrough_1": {"type": "integer", "index": 15, "name": "clickthrough_1", "comment": null}, "clickthrough_1_gross": {"type": "integer", "index": 16, "name": "clickthrough_1_gross", "comment": null}, "cpc_in_micro_dollar": {"type": "integer", "index": 17, "name": "cpc_in_micro_dollar", "comment": null}, "cpm_in_micro_dollar": {"type": "double precision", "index": 18, "name": "cpm_in_micro_dollar", "comment": null}, "ctr": {"type": "integer", "index": 19, "name": "ctr", "comment": null}, "ecpc_in_micro_dollar": {"type": "integer", "index": 20, "name": "ecpc_in_micro_dollar", "comment": null}, "ecpm_in_micro_dollar": {"type": "double precision", "index": 21, "name": "ecpm_in_micro_dollar", "comment": null}, "ectr": {"type": "integer", "index": 22, "name": "ectr", "comment": null}, "engagement_1": {"type": "integer", "index": 23, "name": "engagement_1", "comment": null}, "impression_1": {"type": "integer", "index": 24, "name": "impression_1", "comment": null}, "impression_1_gross": {"type": "integer", "index": 25, "name": "impression_1_gross", "comment": null}, "outbound_click_1": {"type": "integer", "index": 26, "name": "outbound_click_1", "comment": null}, "paid_impression": {"type": "integer", "index": 27, "name": "paid_impression", "comment": null}, "pin_promotion_name": {"type": "text", "index": 28, "name": "pin_promotion_name", "comment": null}, "pin_promotion_status": {"type": "text", "index": 29, "name": "pin_promotion_status", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 30, "name": "spend_in_micro_dollar", "comment": null}, "targeting_type": {"type": "text", "index": 31, "name": "targeting_type", "comment": null}, "targeting_value": {"type": "text", "index": 32, "name": "targeting_value", "comment": null}, "total_engagement": {"type": "integer", "index": 33, "name": "total_engagement", "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.pinterest_source.pinterest_ads.keyword_report"}, "source.pinterest_source.pinterest_ads.pin_promotion_history": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "pin_promotion_history_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "ad_group_id": {"type": "bigint", "index": 2, "name": "ad_group_id", "comment": null}, "created_time": {"type": "text", "index": 3, "name": "created_time", "comment": null}, "destination_url": {"type": "text", "index": 4, "name": "destination_url", "comment": null}, "name": {"type": "text", "index": 5, "name": "name", "comment": null}, "pin_id": {"type": "bigint", "index": 6, "name": "pin_id", "comment": null}, "status": {"type": "text", "index": 7, "name": "status", "comment": null}, "creative_type": {"type": "text", "index": 8, "name": "creative_type", "comment": null}, "_fivetran_synced": {"type": "text", "index": 9, "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.pinterest_source.pinterest_ads.pin_promotion_history"}, "source.pinterest_source.pinterest_ads.pin_promotion_report": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "pin_promotion_report_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"date": {"type": "text", "index": 1, "name": "date", "comment": null}, "pin_promotion_id": {"type": "bigint", "index": 2, "name": "pin_promotion_id", "comment": null}, "ad_group_id": {"type": "bigint", "index": 3, "name": "ad_group_id", "comment": null}, "campaign_id": {"type": "bigint", "index": 4, "name": "campaign_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 5, "name": "advertiser_id", "comment": null}, "_fivetran_synced": {"type": "text", "index": 6, "name": "_fivetran_synced", "comment": null}, "impression_1": {"type": "integer", "index": 7, "name": "impression_1", "comment": null}, "impression_2": {"type": "integer", "index": 8, "name": "impression_2", "comment": null}, "clickthrough_1": {"type": "integer", "index": 9, "name": "clickthrough_1", "comment": null}, "clickthrough_2": {"type": "integer", "index": 10, "name": "clickthrough_2", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 11, "name": "spend_in_micro_dollar", "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.pinterest_source.pinterest_ads.pin_promotion_report"}}, "errors": null} \ No newline at end of file diff --git a/docs/manifest.json b/docs/manifest.json index 953c015..4bfd0e9 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-07-20T15:53:15.184207Z", "invocation_id": "054d9dd6-c78c-4076-aa46-85ad14890e03", "env": {}, "project_id": "0c5e93f26aaf82565f2c06106a3cb878", "user_id": "8929baf0-9bc1-477e-9a57-eb8b0db4da62", "send_anonymous_usage_stats": true, "adapter_type": "postgres"}, "nodes": {"seed.pinterest_source_integration_tests.ad_group_report_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", "campaign_id": "bigint", "ad_group_id": "bigint", "pin_id": "bigint", "advertiser_id": "bigint", "pin_promotion_id": "bigint", "keyword_id": "bigint"}, "full_refresh": null, "on_schema_change": "ignore", "quote_columns": true, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "pinterest_source_integration_tests", "fqn": ["pinterest_source_integration_tests", "ad_group_report_data"], "unique_id": "seed.pinterest_source_integration_tests.ad_group_report_data", "package_name": "pinterest_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests", "path": "ad_group_report_data.csv", "original_file_path": "seeds/ad_group_report_data.csv", "name": "ad_group_report_data", "alias": "ad_group_report_data", "checksum": {"name": "sha256", "checksum": "e97c0744fe3e48bcc4f9016c719b37f08e7cf5d2eed93805e0d54678df283662"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type in ('redshift','postgres') else false }}", "column_types": {"id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "ad_group_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "advertiser_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_promotion_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "keyword_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}"}}, "created_at": 1658332384.6684978, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"ad_group_report_data\""}, "seed.pinterest_source_integration_tests.keyword_report_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", "campaign_id": "bigint", "ad_group_id": "bigint", "pin_id": "bigint", "advertiser_id": "bigint", "pin_promotion_id": "bigint", "keyword_id": "bigint"}, "full_refresh": null, "on_schema_change": "ignore", "quote_columns": true, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "pinterest_source_integration_tests", "fqn": ["pinterest_source_integration_tests", "keyword_report_data"], "unique_id": "seed.pinterest_source_integration_tests.keyword_report_data", "package_name": "pinterest_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests", "path": "keyword_report_data.csv", "original_file_path": "seeds/keyword_report_data.csv", "name": "keyword_report_data", "alias": "keyword_report_data", "checksum": {"name": "sha256", "checksum": "1035144a7494a5a018e6a87770e8ee67eb6b98f6e899865c1e7c4b1bfc4b6951"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type in ('redshift','postgres') else false }}", "column_types": {"id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "ad_group_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "advertiser_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_promotion_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "keyword_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}"}}, "created_at": 1658332384.6742551, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"keyword_report_data\""}, "seed.pinterest_source_integration_tests.pin_promotion_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", "campaign_id": "bigint", "ad_group_id": "bigint", "pin_id": "bigint", "advertiser_id": "bigint", "pin_promotion_id": "bigint", "keyword_id": "bigint"}, "full_refresh": null, "on_schema_change": "ignore", "quote_columns": true, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "pinterest_source_integration_tests", "fqn": ["pinterest_source_integration_tests", "pin_promotion_history_data"], "unique_id": "seed.pinterest_source_integration_tests.pin_promotion_history_data", "package_name": "pinterest_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests", "path": "pin_promotion_history_data.csv", "original_file_path": "seeds/pin_promotion_history_data.csv", "name": "pin_promotion_history_data", "alias": "pin_promotion_history_data", "checksum": {"name": "sha256", "checksum": "6b7c5d891ccb02be0c1e126545984964eb4fa226a9d1ae9741ad76288497e338"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type in ('redshift','postgres') else false }}", "column_types": {"id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "ad_group_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "advertiser_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_promotion_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "keyword_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}"}}, "created_at": 1658332384.675204, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"pin_promotion_history_data\""}, "seed.pinterest_source_integration_tests.advertiser_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", "campaign_id": "bigint", "ad_group_id": "bigint", "pin_id": "bigint", "advertiser_id": "bigint", "pin_promotion_id": "bigint", "keyword_id": "bigint"}, "full_refresh": null, "on_schema_change": "ignore", "quote_columns": true, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "pinterest_source_integration_tests", "fqn": ["pinterest_source_integration_tests", "advertiser_history_data"], "unique_id": "seed.pinterest_source_integration_tests.advertiser_history_data", "package_name": "pinterest_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests", "path": "advertiser_history_data.csv", "original_file_path": "seeds/advertiser_history_data.csv", "name": "advertiser_history_data", "alias": "advertiser_history_data", "checksum": {"name": "sha256", "checksum": "a1efd698a39cc0a75b74b43b84d114eddf6eaac9d3dd7d2a06e704951c091fe4"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type in ('redshift','postgres') else false }}", "column_types": {"id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "ad_group_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "advertiser_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_promotion_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "keyword_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}"}}, "created_at": 1658332384.676098, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"advertiser_history_data\""}, "seed.pinterest_source_integration_tests.advertiser_report_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", "campaign_id": "bigint", "ad_group_id": "bigint", "pin_id": "bigint", "advertiser_id": "bigint", "pin_promotion_id": "bigint", "keyword_id": "bigint"}, "full_refresh": null, "on_schema_change": "ignore", "quote_columns": true, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "pinterest_source_integration_tests", "fqn": ["pinterest_source_integration_tests", "advertiser_report_data"], "unique_id": "seed.pinterest_source_integration_tests.advertiser_report_data", "package_name": "pinterest_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests", "path": "advertiser_report_data.csv", "original_file_path": "seeds/advertiser_report_data.csv", "name": "advertiser_report_data", "alias": "advertiser_report_data", "checksum": {"name": "sha256", "checksum": "1c259e5a0e32230a041a13947432b02764f30f9a7aa245893c63a386fb2ee60e"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type in ('redshift','postgres') else false }}", "column_types": {"id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "ad_group_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "advertiser_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_promotion_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "keyword_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}"}}, "created_at": 1658332384.677106, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"advertiser_report_data\""}, "seed.pinterest_source_integration_tests.ad_group_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", "campaign_id": "bigint", "ad_group_id": "bigint", "pin_id": "bigint", "advertiser_id": "bigint", "pin_promotion_id": "bigint", "keyword_id": "bigint"}, "full_refresh": null, "on_schema_change": "ignore", "quote_columns": true, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "pinterest_source_integration_tests", "fqn": ["pinterest_source_integration_tests", "ad_group_history_data"], "unique_id": "seed.pinterest_source_integration_tests.ad_group_history_data", "package_name": "pinterest_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests", "path": "ad_group_history_data.csv", "original_file_path": "seeds/ad_group_history_data.csv", "name": "ad_group_history_data", "alias": "ad_group_history_data", "checksum": {"name": "sha256", "checksum": "ff76dce5a5b57b38a03bfc295838b9f05e99e3e310066ac3fc96f7c78e3b6be8"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type in ('redshift','postgres') else false }}", "column_types": {"id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "ad_group_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "advertiser_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_promotion_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "keyword_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}"}}, "created_at": 1658332384.678144, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"ad_group_history_data\""}, "seed.pinterest_source_integration_tests.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", "campaign_id": "bigint", "ad_group_id": "bigint", "pin_id": "bigint", "advertiser_id": "bigint", "pin_promotion_id": "bigint", "keyword_id": "bigint"}, "full_refresh": null, "on_schema_change": "ignore", "quote_columns": true, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "pinterest_source_integration_tests", "fqn": ["pinterest_source_integration_tests", "campaign_history_data"], "unique_id": "seed.pinterest_source_integration_tests.campaign_history_data", "package_name": "pinterest_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests", "path": "campaign_history_data.csv", "original_file_path": "seeds/campaign_history_data.csv", "name": "campaign_history_data", "alias": "campaign_history_data", "checksum": {"name": "sha256", "checksum": "4c2ec13ff8548a5571e2de4601947d72d934669534584fa234099b3200564aab"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type in ('redshift','postgres') else false }}", "column_types": {"id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "ad_group_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "advertiser_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_promotion_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "keyword_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}"}}, "created_at": 1658332384.679049, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"campaign_history_data\""}, "seed.pinterest_source_integration_tests.campaign_report_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", "campaign_id": "bigint", "ad_group_id": "bigint", "pin_id": "bigint", "advertiser_id": "bigint", "pin_promotion_id": "bigint", "keyword_id": "bigint"}, "full_refresh": null, "on_schema_change": "ignore", "quote_columns": true, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "pinterest_source_integration_tests", "fqn": ["pinterest_source_integration_tests", "campaign_report_data"], "unique_id": "seed.pinterest_source_integration_tests.campaign_report_data", "package_name": "pinterest_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests", "path": "campaign_report_data.csv", "original_file_path": "seeds/campaign_report_data.csv", "name": "campaign_report_data", "alias": "campaign_report_data", "checksum": {"name": "sha256", "checksum": "b13c07bb0eabe3bb01f21e3a9ca46d6d549a7ae56668fd3c3bc69ba033586638"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type in ('redshift','postgres') else false }}", "column_types": {"id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "ad_group_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "advertiser_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_promotion_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "keyword_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}"}}, "created_at": 1658332384.67994, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"campaign_report_data\""}, "seed.pinterest_source_integration_tests.keyword_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", "campaign_id": "bigint", "ad_group_id": "bigint", "pin_id": "bigint", "advertiser_id": "bigint", "pin_promotion_id": "bigint", "keyword_id": "bigint"}, "full_refresh": null, "on_schema_change": "ignore", "quote_columns": true, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "pinterest_source_integration_tests", "fqn": ["pinterest_source_integration_tests", "keyword_history_data"], "unique_id": "seed.pinterest_source_integration_tests.keyword_history_data", "package_name": "pinterest_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests", "path": "keyword_history_data.csv", "original_file_path": "seeds/keyword_history_data.csv", "name": "keyword_history_data", "alias": "keyword_history_data", "checksum": {"name": "sha256", "checksum": "589c187cfa8845b5851700d6e10128a158fe860a55a4f4de7f83b1e92226bc9e"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type in ('redshift','postgres') else false }}", "column_types": {"id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "ad_group_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "advertiser_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_promotion_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "keyword_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}"}}, "created_at": 1658332384.680932, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"keyword_history_data\""}, "seed.pinterest_source_integration_tests.pin_promotion_report_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", "campaign_id": "bigint", "ad_group_id": "bigint", "pin_id": "bigint", "advertiser_id": "bigint", "pin_promotion_id": "bigint", "keyword_id": "bigint"}, "full_refresh": null, "on_schema_change": "ignore", "quote_columns": true, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "pinterest_source_integration_tests", "fqn": ["pinterest_source_integration_tests", "pin_promotion_report_data"], "unique_id": "seed.pinterest_source_integration_tests.pin_promotion_report_data", "package_name": "pinterest_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests", "path": "pin_promotion_report_data.csv", "original_file_path": "seeds/pin_promotion_report_data.csv", "name": "pin_promotion_report_data", "alias": "pin_promotion_report_data", "checksum": {"name": "sha256", "checksum": "925cc6b85b3db0a72f4b6caba706aca609a276e4c71786a651c0294b2cd6ad35"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type in ('redshift','postgres') else false }}", "column_types": {"id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "ad_group_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "advertiser_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_promotion_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "keyword_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}"}}, "created_at": 1658332384.6818318, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"pin_promotion_report_data\""}, "model.pinterest_source.stg_pinterest_ads__pin_promotion_history": {"raw_sql": "with base as (\n\n select *\n from {{ ref('stg_pinterest_ads__pin_promotion_history_tmp') }}\n), \n\nfields as (\n\n select\n\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_pinterest_ads__pin_promotion_history_tmp')),\n staging_columns=get_pin_promotion_history_columns()\n )\n }}\n from base\n), \n\nfinal as (\n\n select\n id as pin_promotion_id,\n ad_group_id,\n created_time as created_at,\n destination_url,\n {{ dbt_utils.split_part('destination_url', \"'?'\", 1) }} as base_url,\n {{ dbt_utils.get_url_host('destination_url') }} as url_host,\n '/' || {{ dbt_utils.get_url_path('destination_url') }} as url_path,\n {{ dbt_utils.get_url_parameter('destination_url', 'utm_source') }} as utm_source,\n {{ dbt_utils.get_url_parameter('destination_url', 'utm_medium') }} as utm_medium,\n {{ dbt_utils.get_url_parameter('destination_url', 'utm_campaign') }} as utm_campaign,\n {{ dbt_utils.get_url_parameter('destination_url', 'utm_content') }} as utm_content,\n {{ dbt_utils.get_url_parameter('destination_url', 'utm_term') }} as utm_term,\n name as pin_name,\n pin_id,\n status as pin_status,\n creative_type,\n _fivetran_synced\n from fields\n), \n\nsurrogate_key as (\n\n select \n *,\n row_number() over (partition by pin_promotion_id order by _fivetran_synced desc) = 1 as is_most_recent_record\n from final\n)\n\nselect *\nfrom surrogate_key", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.pinterest_source.get_pin_promotion_history_columns", "macro.fivetran_utils.fill_staging_columns", "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.pinterest_source.stg_pinterest_ads__pin_promotion_history_tmp", "model.pinterest_source.stg_pinterest_ads__pin_promotion_history_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "stg_pinterest_ads__pin_promotion_history"], "unique_id": "model.pinterest_source.stg_pinterest_ads__pin_promotion_history", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "stg_pinterest_ads__pin_promotion_history.sql", "original_file_path": "models/stg_pinterest_ads__pin_promotion_history.sql", "name": "stg_pinterest_ads__pin_promotion_history", "alias": "stg_pinterest_ads__pin_promotion_history", "checksum": {"name": "sha256", "checksum": "e58d90c1bb7d29becd3d75c83d9739700ab06395c88512b82cb292411aa0b846"}, "tags": [], "refs": [["stg_pinterest_ads__pin_promotion_history_tmp"], ["stg_pinterest_ads__pin_promotion_history_tmp"]], "sources": [], "description": "Each record represents a version of a Pinterest Pin promotion.", "columns": {"pin_promotion_id": {"name": "pin_promotion_id", "description": "Pin promotion ID.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_id": {"name": "ad_group_id", "description": "Pin promotion ad group ID.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "created_at": {"name": "created_at", "description": "Pin creation time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "destination_url": {"name": "destination_url", "description": "Pin destination URL.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "pin_name": {"name": "pin_name", "description": "Pin promotion name.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "pin_id": {"name": "pin_id", "description": "Original pin ID.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "pin_status": {"name": "pin_status", "description": "The status of the Pin promotion. One of \"ACTIVE\", \"ARCHIVED\", \"PAUSED\"", "meta": {}, "data_type": null, "quote": null, "tags": []}, "creative_type": {"name": "creative_type", "description": "The creative type. \nOne of \"APP\", \"APP_VIDEO\", \"BOARD\", \"CAROUSEL\", \"CINEMATIC\", \"COMMERCE\", \"MAX_VIDEO\", \"NATIVE_VIDEO\", \"REGULAR\", \n\"SEARCH_PROMINENCE\", \"SEARCH_PROMINENCE_CAROUSEL\", \"SHOPPING\", \"SHOP_THE_PIN\", \"THIRD_PARTY\", or \"VIDEO\".\n", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "is_most_recent_record": {"name": "is_most_recent_record", "description": "Boolean representing whether the record is the most recent version of the object.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "base_url": {"name": "base_url", "description": "The base URL of the ad, extracted from the `destination_url`.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "url_host": {"name": "url_host", "description": "The URL host of the ad, extracted from the `destination_url`.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "url_path": {"name": "url_path", "description": "The URL path of the ad, extracted from the `destination_url`.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "utm_source": {"name": "utm_source", "description": "The utm_source parameter of the ad, extracted from the `destination_url`.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "utm_medium": {"name": "utm_medium", "description": "The utm_medium parameter of the ad, extracted from the `destination_url`.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "utm_campaign": {"name": "utm_campaign", "description": "The utm_campaign parameter of the ad, extracted from the `destination_url`.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "utm_content": {"name": "utm_content", "description": "The utm_content parameter of the ad, extracted from the `destination_url`.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "utm_term": {"name": "utm_term", "description": "The utm_term parameter of the ad, extracted from the `destination_url`.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "pinterest_source://models/stg_pinterest_ads.yml", "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads__pin_promotion_history.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "table"}, "created_at": 1658332384.8658319, "compiled_sql": "with base as (\n\n select *\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__pin_promotion_history_tmp\"\n), \n\nfields as (\n\n select\n\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n ad_group_id\n \n as \n \n ad_group_id\n \n, \n cast(null as \n varchar\n) as \n \n android_deep_link\n \n , \n cast(null as \n varchar\n) as \n \n click_tracking_url\n \n , \n \n \n created_time\n \n as \n \n created_time\n \n, \n \n \n creative_type\n \n as \n \n creative_type\n \n, \n \n \n destination_url\n \n as \n \n destination_url\n \n, \n \n \n id\n \n as \n \n id\n \n, \n cast(null as \n varchar\n) as \n \n ios_deep_link\n \n , \n cast(null as boolean) as \n \n is_pin_deleted\n \n , \n cast(null as boolean) as \n \n is_removable\n \n , \n \n \n name\n \n as \n \n name\n \n, \n \n \n pin_id\n \n as \n \n pin_id\n \n, \n cast(null as \n varchar\n) as \n \n review_status\n \n , \n \n \n status\n \n as \n \n status\n \n, \n cast(null as \n timestamp without time zone\n) as \n \n updated_time\n \n , \n cast(null as \n varchar\n) as \n \n view_tracking_url\n \n \n\n\n from base\n), \n\nfinal as (\n\n select\n id as pin_promotion_id,\n ad_group_id,\n created_time as created_at,\n destination_url,\n \n\n \n \n\n split_part(\n destination_url,\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 destination_url,\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 destination_url,\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 destination_url,\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 destination_url,\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 destination_url,\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 nullif(\n\n \n \n\n split_part(\n \n\n \n \n\n split_part(\n destination_url,\n 'utm_source=',\n 2\n )\n\n\n \n\n,\n '&',\n 1\n )\n\n\n \n\n,'') as utm_source,\n nullif(\n\n \n \n\n split_part(\n \n\n \n \n\n split_part(\n destination_url,\n 'utm_medium=',\n 2\n )\n\n\n \n\n,\n '&',\n 1\n )\n\n\n \n\n,'') as utm_medium,\n nullif(\n\n \n \n\n split_part(\n \n\n \n \n\n split_part(\n destination_url,\n 'utm_campaign=',\n 2\n )\n\n\n \n\n,\n '&',\n 1\n )\n\n\n \n\n,'') as utm_campaign,\n nullif(\n\n \n \n\n split_part(\n \n\n \n \n\n split_part(\n destination_url,\n 'utm_content=',\n 2\n )\n\n\n \n\n,\n '&',\n 1\n )\n\n\n \n\n,'') as utm_content,\n nullif(\n\n \n \n\n split_part(\n \n\n \n \n\n split_part(\n destination_url,\n 'utm_term=',\n 2\n )\n\n\n \n\n,\n '&',\n 1\n )\n\n\n \n\n,'') as utm_term,\n name as pin_name,\n pin_id,\n status as pin_status,\n creative_type,\n _fivetran_synced\n from fields\n), \n\nsurrogate_key as (\n\n select \n *,\n row_number() over (partition by pin_promotion_id order by _fivetran_synced desc) = 1 as is_most_recent_record\n from final\n)\n\nselect *\nfrom surrogate_key", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__pin_promotion_history\""}, "model.pinterest_source.stg_pinterest_ads__keyword_report": {"raw_sql": "with base as (\n\n select * \n from {{ ref('stg_pinterest_ads__keyword_report_tmp') }}\n),\n\nfields as (\n\n select\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_pinterest_ads__keyword_report_tmp')),\n staging_columns=get_keyword_report_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select\n date as date_day,\n keyword_id,\n pin_promotion_id,\n ad_group_id,\n ad_group_name,\n ad_group_status,\n campaign_id,\n advertiser_id,\n coalesce(impression_1,0) + coalesce(impression_2,0) as impressions,\n coalesce(clickthrough_1,0) + coalesce(clickthrough_2,0) as clicks,\n spend_in_micro_dollar / 1000000.0 as spend\n\n {% for metric in var('pinterest__keyword_report_passthrough_metrics',[]) %}\n , {{ metric }}\n {% endfor %}\n\n from fields\n)\n\nselect *\nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.pinterest_source.get_keyword_report_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.pinterest_source.stg_pinterest_ads__keyword_report_tmp", "model.pinterest_source.stg_pinterest_ads__keyword_report_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "stg_pinterest_ads__keyword_report"], "unique_id": "model.pinterest_source.stg_pinterest_ads__keyword_report", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "stg_pinterest_ads__keyword_report.sql", "original_file_path": "models/stg_pinterest_ads__keyword_report.sql", "name": "stg_pinterest_ads__keyword_report", "alias": "stg_pinterest_ads__keyword_report", "checksum": {"name": "sha256", "checksum": "c91ccdc933830f32cd39e88713145bb31847fc659a848c3f064cf6470954e10c"}, "tags": [], "refs": [["stg_pinterest_ads__keyword_report_tmp"], ["stg_pinterest_ads__keyword_report_tmp"]], "sources": [], "description": "Each record represents the daily performance of Keywords by ad group, campaign, and advertiser.", "columns": {"date_day": {"name": "date_day", "description": "The performance date of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "keyword_id": {"name": "keyword_id", "description": "Unique identifier of the keyword.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "pin_promotion_id": {"name": "pin_promotion_id", "description": "The ID of the related Pin promotion.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_id": {"name": "ad_group_id", "description": "The ID of the related Ad group.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_name": {"name": "ad_group_name", "description": "Name of the ad group.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_status": {"name": "ad_group_status", "description": "Status of the ad group.", "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": []}, "advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impressions": {"name": "impressions", "description": "The number of paid and earned impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clicks": {"name": "clicks", "description": "The number of paid and earned clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend": {"name": "spend", "description": "The amount of spend that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "pinterest_source://models/stg_pinterest_ads.yml", "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads__keyword_report.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "table"}, "created_at": 1658332384.877028, "compiled_sql": "with base as (\n\n select * \n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__keyword_report_tmp\"\n),\n\nfields as (\n\n select\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n ad_group_id\n \n as \n \n ad_group_id\n \n, \n \n \n ad_group_name\n \n as \n \n ad_group_name\n \n, \n \n \n ad_group_status\n \n as \n \n ad_group_status\n \n, \n \n \n advertiser_id\n \n as \n \n advertiser_id\n \n, \n \n \n campaign_id\n \n as \n \n campaign_id\n \n, \n \n \n clickthrough_1\n \n as \n \n clickthrough_1\n \n, \n cast(null as \n int\n) as \n \n clickthrough_2\n \n , \n \n \n date\n \n as \n \n date\n \n, \n \n \n impression_1\n \n as \n \n impression_1\n \n, \n cast(null as \n int\n) as \n \n impression_2\n \n , \n \n \n keyword_id\n \n as \n \n keyword_id\n \n, \n \n \n pin_promotion_id\n \n as \n \n pin_promotion_id\n \n, \n \n \n spend_in_micro_dollar\n \n as \n \n spend_in_micro_dollar\n \n\n\n\n from base\n),\n\nfinal as (\n \n select\n date as date_day,\n keyword_id,\n pin_promotion_id,\n ad_group_id,\n ad_group_name,\n ad_group_status,\n campaign_id,\n advertiser_id,\n coalesce(impression_1,0) + coalesce(impression_2,0) as impressions,\n coalesce(clickthrough_1,0) + coalesce(clickthrough_2,0) as clicks,\n spend_in_micro_dollar / 1000000.0 as spend\n\n \n\n from fields\n)\n\nselect *\nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__keyword_report\""}, "model.pinterest_source.stg_pinterest_ads__ad_group_report": {"raw_sql": "with base as (\n\n select * \n from {{ ref('stg_pinterest_ads__ad_group_report_tmp') }}\n),\n\nfields as (\n\n select\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_pinterest_ads__ad_group_report_tmp')),\n staging_columns=get_ad_group_report_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select \n date as date_day,\n ad_group_id,\n ad_group_name,\n ad_group_status,\n campaign_id,\n advertiser_id,\n coalesce(impression_1,0) + coalesce(impression_2,0) as impressions,\n coalesce(clickthrough_1,0) + coalesce(clickthrough_2,0) as clicks,\n spend_in_micro_dollar / 1000000.0 as spend\n\n {% for metric in var('pinterest__ad_group_report_passthrough_metrics',[]) %}\n , {{ metric }}\n {% endfor %}\n\n from fields\n)\n\nselect *\nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.pinterest_source.get_ad_group_report_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.pinterest_source.stg_pinterest_ads__ad_group_report_tmp", "model.pinterest_source.stg_pinterest_ads__ad_group_report_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "stg_pinterest_ads__ad_group_report"], "unique_id": "model.pinterest_source.stg_pinterest_ads__ad_group_report", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "stg_pinterest_ads__ad_group_report.sql", "original_file_path": "models/stg_pinterest_ads__ad_group_report.sql", "name": "stg_pinterest_ads__ad_group_report", "alias": "stg_pinterest_ads__ad_group_report", "checksum": {"name": "sha256", "checksum": "831a620b53cd2228cfb4d7f5bdd9ad85631972d6049b263d3e15234d84ae3e18"}, "tags": [], "refs": [["stg_pinterest_ads__ad_group_report_tmp"], ["stg_pinterest_ads__ad_group_report_tmp"]], "sources": [], "description": "Each record represents the daily performance of a Pinterest Ad Groups by advertiser.", "columns": {"date_day": {"name": "date_day", "description": "The performance date of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_id": {"name": "ad_group_id", "description": "The ID of the related Ad group.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_name": {"name": "ad_group_name", "description": "Name of the ad group.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_status": {"name": "ad_group_status", "description": "Status of the ad group.", "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": []}, "advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impressions": {"name": "impressions", "description": "The number of paid and earned impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clicks": {"name": "clicks", "description": "The number of paid and earned clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend": {"name": "spend", "description": "The amount of spend that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "pinterest_source://models/stg_pinterest_ads.yml", "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads__ad_group_report.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "table"}, "created_at": 1658332384.868716, "compiled_sql": "with base as (\n\n select * \n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__ad_group_report_tmp\"\n),\n\nfields as (\n\n select\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n ad_group_id\n \n as \n \n ad_group_id\n \n, \n \n \n ad_group_name\n \n as \n \n ad_group_name\n \n, \n \n \n ad_group_status\n \n as \n \n ad_group_status\n \n, \n \n \n advertiser_id\n \n as \n \n advertiser_id\n \n, \n \n \n campaign_id\n \n as \n \n campaign_id\n \n, \n \n \n clickthrough_1\n \n as \n \n clickthrough_1\n \n, \n cast(null as \n int\n) as \n \n clickthrough_2\n \n , \n \n \n date\n \n as \n \n date\n \n, \n \n \n impression_1\n \n as \n \n impression_1\n \n, \n cast(null as \n int\n) as \n \n impression_2\n \n , \n \n \n spend_in_micro_dollar\n \n as \n \n spend_in_micro_dollar\n \n\n\n\n from base\n),\n\nfinal as (\n \n select \n date as date_day,\n ad_group_id,\n ad_group_name,\n ad_group_status,\n campaign_id,\n advertiser_id,\n coalesce(impression_1,0) + coalesce(impression_2,0) as impressions,\n coalesce(clickthrough_1,0) + coalesce(clickthrough_2,0) as clicks,\n spend_in_micro_dollar / 1000000.0 as spend\n\n \n\n from fields\n)\n\nselect *\nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__ad_group_report\""}, "model.pinterest_source.stg_pinterest_ads__campaign_history": {"raw_sql": "with base as (\n\n select *\n from {{ ref('stg_pinterest_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_pinterest_ads__campaign_history_tmp')),\n staging_columns=get_campaign_history_columns()\n )\n }}\n from base\n), \n\nfinal as (\n\n select \n id as campaign_id,\n name as campaign_name,\n advertiser_id,\n status as campaign_status,\n _fivetran_synced,\n created_time as created_at\n from fields\n),\n\nmost_recent as (\n select \n *,\n row_number() over (partition by campaign_id order by _fivetran_synced desc) = 1 as is_most_recent_record\n from final\n)\n\nselect *\nfrom most_recent", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.pinterest_source.get_campaign_history_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.pinterest_source.stg_pinterest_ads__campaign_history_tmp", "model.pinterest_source.stg_pinterest_ads__campaign_history_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "stg_pinterest_ads__campaign_history"], "unique_id": "model.pinterest_source.stg_pinterest_ads__campaign_history", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "stg_pinterest_ads__campaign_history.sql", "original_file_path": "models/stg_pinterest_ads__campaign_history.sql", "name": "stg_pinterest_ads__campaign_history", "alias": "stg_pinterest_ads__campaign_history", "checksum": {"name": "sha256", "checksum": "dc5acb7c99056c415b7b7819b6054f15750b165179f7e55ab21afb705088b6eb"}, "tags": [], "refs": [["stg_pinterest_ads__campaign_history_tmp"], ["stg_pinterest_ads__campaign_history_tmp"]], "sources": [], "description": "Each record represents a version of a Pinterest Campaign.", "columns": {"campaign_id": {"name": "campaign_id", "description": "The ID of the related Campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "created_at": {"name": "created_at", "description": "Campaign creation time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_name": {"name": "campaign_name", "description": "Campaign name.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_status": {"name": "campaign_status", "description": "The status of the Campaign. One of \"ACTIVE\", \"ARCHIVED\", \"PAUSED\"", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "is_most_recent_record": {"name": "is_most_recent_record", "description": "Boolean representing whether the record is the most recent version of the object.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "pinterest_source://models/stg_pinterest_ads.yml", "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads__campaign_history.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "table"}, "created_at": 1658332384.8628721, "compiled_sql": "with base as (\n\n select *\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__campaign_history_tmp\"\n), \n\nfields as (\n\n select\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n created_time\n \n as \n \n created_time\n \n, \n \n \n id\n \n as \n \n id\n \n, \n \n \n advertiser_id\n \n as \n \n advertiser_id\n \n, \n \n \n name\n \n as \n \n name\n \n, \n \n \n status\n \n as \n \n status\n \n\n\n\n from base\n), \n\nfinal as (\n\n select \n id as campaign_id,\n name as campaign_name,\n advertiser_id,\n status as campaign_status,\n _fivetran_synced,\n created_time as created_at\n from fields\n),\n\nmost_recent as (\n select \n *,\n row_number() over (partition by campaign_id order by _fivetran_synced desc) = 1 as is_most_recent_record\n from final\n)\n\nselect *\nfrom most_recent", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__campaign_history\""}, "model.pinterest_source.stg_pinterest_ads__advertiser_report": {"raw_sql": "with base as (\n\n select * \n from {{ ref('stg_pinterest_ads__advertiser_report_tmp') }}\n),\n\nfields as (\n\n select\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_pinterest_ads__advertiser_report_tmp')),\n staging_columns=get_advertiser_report_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select \n date as date_day,\n advertiser_id,\n coalesce(impression_1,0) + coalesce(impression_2,0) as impressions,\n coalesce(clickthrough_1,0) + coalesce(clickthrough_2,0) as clicks,\n spend_in_micro_dollar / 1000000.0 as spend\n\n {% for metric in var('pinterest__advertiser_report_passthrough_metrics',[]) %}\n , {{ metric }}\n {% endfor %}\n\n from fields\n)\n\nselect *\nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.pinterest_source.get_advertiser_report_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.pinterest_source.stg_pinterest_ads__advertiser_report_tmp", "model.pinterest_source.stg_pinterest_ads__advertiser_report_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "stg_pinterest_ads__advertiser_report"], "unique_id": "model.pinterest_source.stg_pinterest_ads__advertiser_report", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "stg_pinterest_ads__advertiser_report.sql", "original_file_path": "models/stg_pinterest_ads__advertiser_report.sql", "name": "stg_pinterest_ads__advertiser_report", "alias": "stg_pinterest_ads__advertiser_report", "checksum": {"name": "sha256", "checksum": "03f1b3e5345e9e8b873f1c6e2b5d3b59148ec9df51694167a83bb69c1859e010"}, "tags": [], "refs": [["stg_pinterest_ads__advertiser_report_tmp"], ["stg_pinterest_ads__advertiser_report_tmp"]], "sources": [], "description": "Each record represents the daily performance of an Advertiser.", "columns": {"date_day": {"name": "date_day", "description": "The performance date of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impressions": {"name": "impressions", "description": "The number of paid and earned impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clicks": {"name": "clicks", "description": "The number of paid and earned clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend": {"name": "spend", "description": "The amount of spend that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "pinterest_source://models/stg_pinterest_ads.yml", "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads__advertiser_report.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "table"}, "created_at": 1658332384.871853, "compiled_sql": "with base as (\n\n select * \n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__advertiser_report_tmp\"\n),\n\nfields as (\n\n select\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n advertiser_id\n \n as \n \n advertiser_id\n \n, \n \n \n clickthrough_1\n \n as \n \n clickthrough_1\n \n, \n cast(null as \n int\n) as \n \n clickthrough_2\n \n , \n \n \n date\n \n as \n \n date\n \n, \n \n \n impression_1\n \n as \n \n impression_1\n \n, \n cast(null as \n int\n) as \n \n impression_2\n \n , \n \n \n spend_in_micro_dollar\n \n as \n \n spend_in_micro_dollar\n \n\n\n\n from base\n),\n\nfinal as (\n \n select \n date as date_day,\n advertiser_id,\n coalesce(impression_1,0) + coalesce(impression_2,0) as impressions,\n coalesce(clickthrough_1,0) + coalesce(clickthrough_2,0) as clicks,\n spend_in_micro_dollar / 1000000.0 as spend\n\n \n\n from fields\n)\n\nselect *\nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__advertiser_report\""}, "model.pinterest_source.stg_pinterest_ads__advertiser_history": {"raw_sql": "with base as (\n\n select * \n from {{ ref('stg_pinterest_ads__advertiser_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_pinterest_ads__advertiser_history_tmp')),\n staging_columns=get_advertiser_history_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select \n id as advertiser_id,\n name as advertiser_name,\n status as advertiser_status,\n billing_profile_status,\n billing_type,\n country,\n created_time as created_at,\n currency as currency_code,\n merchant_id,\n owner_user_id,\n updated_time as updated_at\n from fields\n),\n\nmost_recent as (\n select\n *,\n row_number() over (partition by advertiser_id order by updated_at desc) = 1 as is_most_recent_record\n from final\n\n)\n\nselect *\nfrom most_recent", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.pinterest_source.get_advertiser_history_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.pinterest_source.stg_pinterest_ads__advertiser_history_tmp", "model.pinterest_source.stg_pinterest_ads__advertiser_history_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "stg_pinterest_ads__advertiser_history"], "unique_id": "model.pinterest_source.stg_pinterest_ads__advertiser_history", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "stg_pinterest_ads__advertiser_history.sql", "original_file_path": "models/stg_pinterest_ads__advertiser_history.sql", "name": "stg_pinterest_ads__advertiser_history", "alias": "stg_pinterest_ads__advertiser_history", "checksum": {"name": "sha256", "checksum": "a735cb6bffb3302d2717a3133bb5e1989c3b174bd15b94631e4f62d67d2bc71e"}, "tags": [], "refs": [["stg_pinterest_ads__advertiser_history_tmp"], ["stg_pinterest_ads__advertiser_history_tmp"]], "sources": [], "description": "Each record represents a version of an advertiser.", "columns": {"advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "advertiser_name": {"name": "advertiser_name", "description": "Name of the advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "advertiser_status": {"name": "advertiser_status", "description": "Status of the advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "billing_profile_status": {"name": "billing_profile_status", "description": "Status of the billing profile.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "billing_type": {"name": "billing_type", "description": "The billing type of the advertiser. Will typically be CREDIT_CARD or INVOICE.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "country": {"name": "country", "description": "The country code where the advertiser is located.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "created_at": {"name": "created_at", "description": "Timestamp of when a record was created.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "currency_code": {"name": "currency_code", "description": "The currency code which the advertiser is set up using.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "merchant_id": {"name": "merchant_id", "description": "Unique ID of the merchant associated with the advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "owner_user_id": {"name": "owner_user_id", "description": "Unique identifier of the owner user.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "updated_at": {"name": "updated_at", "description": "Timestamp of when a record was last updated.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "is_most_recent_record": {"name": "is_most_recent_record", "description": "Boolean representing whether the record is the most recent version of the object.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "pinterest_source://models/stg_pinterest_ads.yml", "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads__advertiser_history.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "table"}, "created_at": 1658332384.870657, "compiled_sql": "with base as (\n\n select * \n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__advertiser_history_tmp\"\n),\n\nfields as (\n\n select\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n billing_profile_status\n \n as \n \n billing_profile_status\n \n, \n \n \n billing_type\n \n as \n \n billing_type\n \n, \n \n \n country\n \n as \n \n country\n \n, \n \n \n created_time\n \n as \n \n created_time\n \n, \n \n \n currency\n \n as \n \n currency\n \n, \n \n \n id\n \n as \n \n id\n \n, \n \n \n merchant_id\n \n as \n \n merchant_id\n \n, \n \n \n name\n \n as \n \n name\n \n, \n \n \n owner_user_id\n \n as \n \n owner_user_id\n \n, \n \n \n status\n \n as \n \n status\n \n, \n \n \n updated_time\n \n as \n \n updated_time\n \n\n\n\n from base\n),\n\nfinal as (\n \n select \n id as advertiser_id,\n name as advertiser_name,\n status as advertiser_status,\n billing_profile_status,\n billing_type,\n country,\n created_time as created_at,\n currency as currency_code,\n merchant_id,\n owner_user_id,\n updated_time as updated_at\n from fields\n),\n\nmost_recent as (\n select\n *,\n row_number() over (partition by advertiser_id order by updated_at desc) = 1 as is_most_recent_record\n from final\n\n)\n\nselect *\nfrom most_recent", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__advertiser_history\""}, "model.pinterest_source.stg_pinterest_ads__campaign_report": {"raw_sql": "with base as (\n\n select * \n from {{ ref('stg_pinterest_ads__campaign_report_tmp') }}\n),\n\nfields as (\n\n select\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_pinterest_ads__campaign_report_tmp')),\n staging_columns=get_campaign_report_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select \n date as date_day,\n campaign_id,\n campaign_name,\n campaign_status,\n advertiser_id,\n coalesce(impression_1,0) + coalesce(impression_2,0) as impressions,\n coalesce(clickthrough_1,0) + coalesce(clickthrough_2,0) as clicks,\n spend_in_micro_dollar / 1000000.0 as spend\n\n {% for metric in var('pinterest__campaign_report_passthrough_metrics',[]) %}\n , {{ metric }}\n {% endfor %}\n\n from fields\n)\n\nselect *\nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.pinterest_source.get_campaign_report_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.pinterest_source.stg_pinterest_ads__campaign_report_tmp", "model.pinterest_source.stg_pinterest_ads__campaign_report_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "stg_pinterest_ads__campaign_report"], "unique_id": "model.pinterest_source.stg_pinterest_ads__campaign_report", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "stg_pinterest_ads__campaign_report.sql", "original_file_path": "models/stg_pinterest_ads__campaign_report.sql", "name": "stg_pinterest_ads__campaign_report", "alias": "stg_pinterest_ads__campaign_report", "checksum": {"name": "sha256", "checksum": "6951407d8fc8c1e72020f1da5c8d36a746f7d5d4f9c20ed5592b75dec402d725"}, "tags": [], "refs": [["stg_pinterest_ads__campaign_report_tmp"], ["stg_pinterest_ads__campaign_report_tmp"]], "sources": [], "description": "Each record represents the daily performance of Campaigns by advertiser.", "columns": {"date_day": {"name": "date_day", "description": "The performance date of the record.", "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": "Name of the campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_status": {"name": "campaign_status", "description": "Status of the campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impressions": {"name": "impressions", "description": "The number of paid and earned impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clicks": {"name": "clicks", "description": "The number of paid and earned clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend": {"name": "spend", "description": "The amount of spend that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "pinterest_source://models/stg_pinterest_ads.yml", "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads__campaign_report.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "table"}, "created_at": 1658332384.8733819, "compiled_sql": "with base as (\n\n select * \n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__campaign_report_tmp\"\n),\n\nfields as (\n\n select\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n advertiser_id\n \n as \n \n advertiser_id\n \n, \n \n \n campaign_id\n \n as \n \n campaign_id\n \n, \n \n \n campaign_name\n \n as \n \n campaign_name\n \n, \n \n \n campaign_status\n \n as \n \n campaign_status\n \n, \n \n \n clickthrough_1\n \n as \n \n clickthrough_1\n \n, \n cast(null as \n int\n) as \n \n clickthrough_2\n \n , \n \n \n date\n \n as \n \n date\n \n, \n \n \n impression_1\n \n as \n \n impression_1\n \n, \n cast(null as \n int\n) as \n \n impression_2\n \n , \n \n \n spend_in_micro_dollar\n \n as \n \n spend_in_micro_dollar\n \n\n\n\n from base\n),\n\nfinal as (\n \n select \n date as date_day,\n campaign_id,\n campaign_name,\n campaign_status,\n advertiser_id,\n coalesce(impression_1,0) + coalesce(impression_2,0) as impressions,\n coalesce(clickthrough_1,0) + coalesce(clickthrough_2,0) as clicks,\n spend_in_micro_dollar / 1000000.0 as spend\n\n \n\n from fields\n)\n\nselect *\nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__campaign_report\""}, "model.pinterest_source.stg_pinterest_ads__keyword_history": {"raw_sql": "with base as (\n\n select * \n from {{ ref('stg_pinterest_ads__keyword_history_tmp') }}\n),\n\nfields as (\n\n select\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_pinterest_ads__keyword_history_tmp')),\n staging_columns=get_keyword_history_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select\n id as keyword_id,\n value as keyword_value,\n _fivetran_id,\n _fivetran_synced,\n ad_group_id,\n advertiser_id,\n archived,\n bid,\n campaign_id,\n match_type,\n parent_type\n from fields\n),\n\nmost_recent as (\n select\n *,\n row_number() over (partition by keyword_id order by _fivetran_synced desc) = 1 as is_most_recent_record\n from final\n)\n\nselect *\nfrom most_recent", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.pinterest_source.get_keyword_history_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.pinterest_source.stg_pinterest_ads__keyword_history_tmp", "model.pinterest_source.stg_pinterest_ads__keyword_history_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "stg_pinterest_ads__keyword_history"], "unique_id": "model.pinterest_source.stg_pinterest_ads__keyword_history", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "stg_pinterest_ads__keyword_history.sql", "original_file_path": "models/stg_pinterest_ads__keyword_history.sql", "name": "stg_pinterest_ads__keyword_history", "alias": "stg_pinterest_ads__keyword_history", "checksum": {"name": "sha256", "checksum": "699cd5961a1e73f18759bc85f569a503a381173579b2aa02bc27e1e8ae33fefd"}, "tags": [], "refs": [["stg_pinterest_ads__keyword_history_tmp"], ["stg_pinterest_ads__keyword_history_tmp"]], "sources": [], "description": "Each record represents the daily performance of a Keyword.", "columns": {"keyword_id": {"name": "keyword_id", "description": "Unique identifier of the keyword.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "keyword_value": {"name": "keyword_value", "description": "The text value that makes upd the keyword.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_id": {"name": "_fivetran_id", "description": "The unique identifier of the record within the Fivetran synced table.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_id": {"name": "ad_group_id", "description": "The ID of the related Ad group.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "archived": {"name": "archived", "description": "Boolean indicating if the keyword is archived.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "bid": {"name": "bid", "description": "Bid amount set for the keyword.", "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": []}, "match_type": {"name": "match_type", "description": "Type of match the keyword is tied to. Either Exact or Broad.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "parent_type": {"name": "parent_type", "description": "Identifier of what grain the parent type is. Ad group or campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "is_most_recent_record": {"name": "is_most_recent_record", "description": "Boolean representing whether the record is the most recent version of the object.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "pinterest_source://models/stg_pinterest_ads.yml", "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads__keyword_history.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "table"}, "created_at": 1658332384.8752792, "compiled_sql": "with base as (\n\n select * \n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__keyword_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 ad_group_id\n \n as \n \n ad_group_id\n \n, \n \n \n advertiser_id\n \n as \n \n advertiser_id\n \n, \n \n \n archived\n \n as \n \n archived\n \n, \n \n \n bid\n \n as \n \n bid\n \n, \n \n \n campaign_id\n \n as \n \n campaign_id\n \n, \n \n \n id\n \n as \n \n id\n \n, \n \n \n match_type\n \n as \n \n match_type\n \n, \n \n \n parent_type\n \n as \n \n parent_type\n \n, \n \n \n value\n \n as \n \n value\n \n\n\n\n from base\n),\n\nfinal as (\n \n select\n id as keyword_id,\n value as keyword_value,\n _fivetran_id,\n _fivetran_synced,\n ad_group_id,\n advertiser_id,\n archived,\n bid,\n campaign_id,\n match_type,\n parent_type\n from fields\n),\n\nmost_recent as (\n select\n *,\n row_number() over (partition by keyword_id order by _fivetran_synced desc) = 1 as is_most_recent_record\n from final\n)\n\nselect *\nfrom most_recent", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__keyword_history\""}, "model.pinterest_source.stg_pinterest_ads__pin_promotion_report": {"raw_sql": "with base as (\n\n select *\n from {{ ref('stg_pinterest_ads__pin_promotion_report_tmp') }}\n), \n\nfields as (\n\n select\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_pinterest_ads__pin_promotion_report_tmp')),\n staging_columns=get_pin_promotion_report_columns()\n )\n }}\n from base\n), \n\nfinal as (\n\n select \n date as date_day,\n pin_promotion_id,\n ad_group_id,\n campaign_id,\n advertiser_id,\n coalesce(impression_1,0) + coalesce(impression_2,0) as impressions,\n coalesce(clickthrough_1,0) + coalesce(clickthrough_2,0) as clicks,\n spend_in_micro_dollar / 1000000.0 as spend\n\n {% for metric in var('pinterest__pin_promotion_report_passthrough_metrics',[]) %}\n , {{ metric }}\n {% endfor %}\n\n from fields\n)\n\nselect *\nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.pinterest_source.get_pin_promotion_report_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_report_tmp", "model.pinterest_source.stg_pinterest_ads__pin_promotion_report_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "stg_pinterest_ads__pin_promotion_report"], "unique_id": "model.pinterest_source.stg_pinterest_ads__pin_promotion_report", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "stg_pinterest_ads__pin_promotion_report.sql", "original_file_path": "models/stg_pinterest_ads__pin_promotion_report.sql", "name": "stg_pinterest_ads__pin_promotion_report", "alias": "stg_pinterest_ads__pin_promotion_report", "checksum": {"name": "sha256", "checksum": "64a1d7976df9e9ee2f030affc190a3ca54469f80497c95b7d636abf3065c602a"}, "tags": [], "refs": [["stg_pinterest_ads__pin_promotion_report_tmp"], ["stg_pinterest_ads__pin_promotion_report_tmp"]], "sources": [], "description": "Each record represents the daily performance of a Pinterest Pin promotion by ad group, campaign, and advertiser.", "columns": {"date_day": {"name": "date_day", "description": "The performance date of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "pin_promotion_id": {"name": "pin_promotion_id", "description": "The ID of the related Pin promotion.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_id": {"name": "ad_group_id", "description": "The ID of the related Ad group.", "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": []}, "advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impressions": {"name": "impressions", "description": "The number of paid and earned impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clicks": {"name": "clicks", "description": "The number of paid and earned clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend": {"name": "spend", "description": "The amount of spend that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "pinterest_source://models/stg_pinterest_ads.yml", "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads__pin_promotion_report.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "table"}, "created_at": 1658332384.867187, "compiled_sql": "with base as (\n\n select *\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__pin_promotion_report_tmp\"\n), \n\nfields as (\n\n select\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n ad_group_id\n \n as \n \n ad_group_id\n \n, \n \n \n advertiser_id\n \n as \n \n advertiser_id\n \n, \n \n \n campaign_id\n \n as \n \n campaign_id\n \n, \n \n \n clickthrough_1\n \n as \n \n clickthrough_1\n \n, \n \n \n clickthrough_2\n \n as \n \n clickthrough_2\n \n, \n \n \n date\n \n as \n \n date\n \n, \n \n \n impression_1\n \n as \n \n impression_1\n \n, \n \n \n impression_2\n \n as \n \n impression_2\n \n, \n \n \n pin_promotion_id\n \n as \n \n pin_promotion_id\n \n, \n \n \n spend_in_micro_dollar\n \n as \n \n spend_in_micro_dollar\n \n\n\n\n from base\n), \n\nfinal as (\n\n select \n date as date_day,\n pin_promotion_id,\n ad_group_id,\n campaign_id,\n advertiser_id,\n coalesce(impression_1,0) + coalesce(impression_2,0) as impressions,\n coalesce(clickthrough_1,0) + coalesce(clickthrough_2,0) as clicks,\n spend_in_micro_dollar / 1000000.0 as spend\n\n \n\n from fields\n)\n\nselect *\nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__pin_promotion_report\""}, "model.pinterest_source.stg_pinterest_ads__ad_group_history": {"raw_sql": "with base as (\n\n select *\n from {{ ref('stg_pinterest_ads__ad_group_history_tmp') }}\n), \n\nfields as (\n\n select\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_pinterest_ads__ad_group_history_tmp')),\n staging_columns=get_ad_group_history_columns()\n )\n }}\n from base\n), \n\nfinal as (\n\n select \n id as ad_group_id,\n name as ad_group_name,\n status as ad_group_status,\n _fivetran_synced,\n campaign_id,\n created_time as created_at,\n end_time,\n start_time\n from fields\n),\n\nmost_recent as (\n select\n *,\n row_number() over (partition by ad_group_id order by _fivetran_synced desc) = 1 as is_most_recent_record\n from final\n)\n\nselect *\nfrom most_recent", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.pinterest_source.get_ad_group_history_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.pinterest_source.stg_pinterest_ads__ad_group_history_tmp", "model.pinterest_source.stg_pinterest_ads__ad_group_history_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "stg_pinterest_ads__ad_group_history"], "unique_id": "model.pinterest_source.stg_pinterest_ads__ad_group_history", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "stg_pinterest_ads__ad_group_history.sql", "original_file_path": "models/stg_pinterest_ads__ad_group_history.sql", "name": "stg_pinterest_ads__ad_group_history", "alias": "stg_pinterest_ads__ad_group_history", "checksum": {"name": "sha256", "checksum": "c84e7a8de947ba3bc3101e41f3ce4686265dc854469da158e839759dc2844303"}, "tags": [], "refs": [["stg_pinterest_ads__ad_group_history_tmp"], ["stg_pinterest_ads__ad_group_history_tmp"]], "sources": [], "description": "Each record represents a version of a Pinterest Ad Group.", "columns": {"ad_group_id": {"name": "ad_group_id", "description": "Ad group ID.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_id": {"name": "campaign_id", "description": "Parent Campaign ID.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "created_at": {"name": "created_at", "description": "Ad group creation time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_name": {"name": "ad_group_name", "description": "Ad group name.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_status": {"name": "ad_group_status", "description": "The status of the Ad group. One of \"ACTIVE\", \"ARCHIVED\", \"PAUSED\"", "meta": {}, "data_type": null, "quote": null, "tags": []}, "start_time": {"name": "start_time", "description": "Ad group start time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "end_time": {"name": "end_time", "description": "Ad group end time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "is_most_recent_record": {"name": "is_most_recent_record", "description": "Boolean representing whether the record is the most recent version of the object.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "pinterest_source://models/stg_pinterest_ads.yml", "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads__ad_group_history.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "table"}, "created_at": 1658332384.86159, "compiled_sql": "with base as (\n\n select *\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__ad_group_history_tmp\"\n), \n\nfields as (\n\n select\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n campaign_id\n \n as \n \n campaign_id\n \n, \n \n \n created_time\n \n as \n \n created_time\n \n, \n \n \n end_time\n \n as \n \n end_time\n \n, \n \n \n id\n \n as \n \n id\n \n, \n \n \n name\n \n as \n \n name\n \n, \n \n \n start_time\n \n as \n \n start_time\n \n, \n \n \n status\n \n as \n \n status\n \n\n\n\n from base\n), \n\nfinal as (\n\n select \n id as ad_group_id,\n name as ad_group_name,\n status as ad_group_status,\n _fivetran_synced,\n campaign_id,\n created_time as created_at,\n end_time,\n start_time\n from fields\n),\n\nmost_recent as (\n select\n *,\n row_number() over (partition by ad_group_id order by _fivetran_synced desc) = 1 as is_most_recent_record\n from final\n)\n\nselect *\nfrom most_recent", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__ad_group_history\""}, "model.pinterest_source.stg_pinterest_ads__advertiser_history_tmp": {"raw_sql": "select * \nfrom {{ var('advertiser_history') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.pinterest_source.pinterest_ads.advertiser_history"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "tmp", "stg_pinterest_ads__advertiser_history_tmp"], "unique_id": "model.pinterest_source.stg_pinterest_ads__advertiser_history_tmp", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "tmp/stg_pinterest_ads__advertiser_history_tmp.sql", "original_file_path": "models/tmp/stg_pinterest_ads__advertiser_history_tmp.sql", "name": "stg_pinterest_ads__advertiser_history_tmp", "alias": "stg_pinterest_ads__advertiser_history_tmp", "checksum": {"name": "sha256", "checksum": "60dc1039a40b4fd101ac71b52584219ef441b8f3231fab7270a1725731849343"}, "tags": [], "refs": [], "sources": [["pinterest_ads", "advertiser_history"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/tmp/stg_pinterest_ads__advertiser_history_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "view"}, "created_at": 1658332384.803921, "compiled_sql": "select * \nfrom \"postgres\".\"pinterest_source_integration_tests\".\"advertiser_history_data\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__advertiser_history_tmp\""}, "model.pinterest_source.stg_pinterest_ads__pin_promotion_report_tmp": {"raw_sql": "select *\nfrom {{ var('pin_promotion_report') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.pinterest_source.pinterest_ads.pin_promotion_report"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "tmp", "stg_pinterest_ads__pin_promotion_report_tmp"], "unique_id": "model.pinterest_source.stg_pinterest_ads__pin_promotion_report_tmp", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "tmp/stg_pinterest_ads__pin_promotion_report_tmp.sql", "original_file_path": "models/tmp/stg_pinterest_ads__pin_promotion_report_tmp.sql", "name": "stg_pinterest_ads__pin_promotion_report_tmp", "alias": "stg_pinterest_ads__pin_promotion_report_tmp", "checksum": {"name": "sha256", "checksum": "18cfa5bd72f823f350eb4fd5f5400957cc628d66510236ca582e0186f4ed24f4"}, "tags": [], "refs": [], "sources": [["pinterest_ads", "pin_promotion_report"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/tmp/stg_pinterest_ads__pin_promotion_report_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "view"}, "created_at": 1658332384.807297, "compiled_sql": "select *\nfrom \"postgres\".\"pinterest_source_integration_tests\".\"pin_promotion_report_data\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__pin_promotion_report_tmp\""}, "model.pinterest_source.stg_pinterest_ads__campaign_report_tmp": {"raw_sql": "select * \nfrom {{ var('campaign_report') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.pinterest_source.pinterest_ads.campaign_report"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "tmp", "stg_pinterest_ads__campaign_report_tmp"], "unique_id": "model.pinterest_source.stg_pinterest_ads__campaign_report_tmp", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "tmp/stg_pinterest_ads__campaign_report_tmp.sql", "original_file_path": "models/tmp/stg_pinterest_ads__campaign_report_tmp.sql", "name": "stg_pinterest_ads__campaign_report_tmp", "alias": "stg_pinterest_ads__campaign_report_tmp", "checksum": {"name": "sha256", "checksum": "5f611ed15f119a95ac9ba29f2463d1924782790c0678cfca4fd0f25aab4d4296"}, "tags": [], "refs": [], "sources": [["pinterest_ads", "campaign_report"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/tmp/stg_pinterest_ads__campaign_report_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "view"}, "created_at": 1658332384.810993, "compiled_sql": "select * \nfrom \"postgres\".\"pinterest_source_integration_tests\".\"campaign_report_data\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__campaign_report_tmp\""}, "model.pinterest_source.stg_pinterest_ads__advertiser_report_tmp": {"raw_sql": "select * \nfrom {{ var('advertiser_report') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.pinterest_source.pinterest_ads.advertiser_report"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "tmp", "stg_pinterest_ads__advertiser_report_tmp"], "unique_id": "model.pinterest_source.stg_pinterest_ads__advertiser_report_tmp", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "tmp/stg_pinterest_ads__advertiser_report_tmp.sql", "original_file_path": "models/tmp/stg_pinterest_ads__advertiser_report_tmp.sql", "name": "stg_pinterest_ads__advertiser_report_tmp", "alias": "stg_pinterest_ads__advertiser_report_tmp", "checksum": {"name": "sha256", "checksum": "68f4f29d7cc41371c11bca9e1ac615df584965bb7be78dda187252b1893b6a17"}, "tags": [], "refs": [], "sources": [["pinterest_ads", "advertiser_report"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/tmp/stg_pinterest_ads__advertiser_report_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "view"}, "created_at": 1658332384.813812, "compiled_sql": "select * \nfrom \"postgres\".\"pinterest_source_integration_tests\".\"advertiser_report_data\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__advertiser_report_tmp\""}, "model.pinterest_source.stg_pinterest_ads__keyword_report_tmp": {"raw_sql": "select * \nfrom {{ var('keyword_report') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.pinterest_source.pinterest_ads.keyword_report"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "tmp", "stg_pinterest_ads__keyword_report_tmp"], "unique_id": "model.pinterest_source.stg_pinterest_ads__keyword_report_tmp", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "tmp/stg_pinterest_ads__keyword_report_tmp.sql", "original_file_path": "models/tmp/stg_pinterest_ads__keyword_report_tmp.sql", "name": "stg_pinterest_ads__keyword_report_tmp", "alias": "stg_pinterest_ads__keyword_report_tmp", "checksum": {"name": "sha256", "checksum": "180a05437502b97ae4654b06e70dee2f2324b4b80815c2be214cdc9cfcb4a99d"}, "tags": [], "refs": [], "sources": [["pinterest_ads", "keyword_report"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/tmp/stg_pinterest_ads__keyword_report_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "view"}, "created_at": 1658332384.8165498, "compiled_sql": "select * \nfrom \"postgres\".\"pinterest_source_integration_tests\".\"keyword_report_data\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__keyword_report_tmp\""}, "model.pinterest_source.stg_pinterest_ads__ad_group_report_tmp": {"raw_sql": "select * \nfrom {{ var('ad_group_report') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.pinterest_source.pinterest_ads.ad_group_report"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "tmp", "stg_pinterest_ads__ad_group_report_tmp"], "unique_id": "model.pinterest_source.stg_pinterest_ads__ad_group_report_tmp", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "tmp/stg_pinterest_ads__ad_group_report_tmp.sql", "original_file_path": "models/tmp/stg_pinterest_ads__ad_group_report_tmp.sql", "name": "stg_pinterest_ads__ad_group_report_tmp", "alias": "stg_pinterest_ads__ad_group_report_tmp", "checksum": {"name": "sha256", "checksum": "7302e33164e446b0631e0dda341de8949d3ead51adddb6ba93fbda32b00449e2"}, "tags": [], "refs": [], "sources": [["pinterest_ads", "ad_group_report"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/tmp/stg_pinterest_ads__ad_group_report_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "view"}, "created_at": 1658332384.819251, "compiled_sql": "select * \nfrom \"postgres\".\"pinterest_source_integration_tests\".\"ad_group_report_data\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__ad_group_report_tmp\""}, "model.pinterest_source.stg_pinterest_ads__keyword_history_tmp": {"raw_sql": "select * \nfrom {{ var('keyword_history') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.pinterest_source.pinterest_ads.keyword_history"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "tmp", "stg_pinterest_ads__keyword_history_tmp"], "unique_id": "model.pinterest_source.stg_pinterest_ads__keyword_history_tmp", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "tmp/stg_pinterest_ads__keyword_history_tmp.sql", "original_file_path": "models/tmp/stg_pinterest_ads__keyword_history_tmp.sql", "name": "stg_pinterest_ads__keyword_history_tmp", "alias": "stg_pinterest_ads__keyword_history_tmp", "checksum": {"name": "sha256", "checksum": "beb1849e58089e1dbb21b3eca90782b48e6de96d5df38693417b91488ac622b1"}, "tags": [], "refs": [], "sources": [["pinterest_ads", "keyword_history"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/tmp/stg_pinterest_ads__keyword_history_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "view"}, "created_at": 1658332384.821908, "compiled_sql": "select * \nfrom \"postgres\".\"pinterest_source_integration_tests\".\"keyword_history_data\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__keyword_history_tmp\""}, "model.pinterest_source.stg_pinterest_ads__campaign_history_tmp": {"raw_sql": "select *\nfrom {{ var('campaign_history') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.pinterest_source.pinterest_ads.campaign_history"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "tmp", "stg_pinterest_ads__campaign_history_tmp"], "unique_id": "model.pinterest_source.stg_pinterest_ads__campaign_history_tmp", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "tmp/stg_pinterest_ads__campaign_history_tmp.sql", "original_file_path": "models/tmp/stg_pinterest_ads__campaign_history_tmp.sql", "name": "stg_pinterest_ads__campaign_history_tmp", "alias": "stg_pinterest_ads__campaign_history_tmp", "checksum": {"name": "sha256", "checksum": "ea41c8d4ba83ff540a5f38f481cbd17406e99954f8b9b7b086ac94203a8dd6bd"}, "tags": [], "refs": [], "sources": [["pinterest_ads", "campaign_history"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/tmp/stg_pinterest_ads__campaign_history_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "view"}, "created_at": 1658332384.8245099, "compiled_sql": "select *\nfrom \"postgres\".\"pinterest_source_integration_tests\".\"campaign_history_data\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__campaign_history_tmp\""}, "model.pinterest_source.stg_pinterest_ads__ad_group_history_tmp": {"raw_sql": "select *\nfrom {{ var('ad_group_history') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.pinterest_source.pinterest_ads.ad_group_history"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "tmp", "stg_pinterest_ads__ad_group_history_tmp"], "unique_id": "model.pinterest_source.stg_pinterest_ads__ad_group_history_tmp", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "tmp/stg_pinterest_ads__ad_group_history_tmp.sql", "original_file_path": "models/tmp/stg_pinterest_ads__ad_group_history_tmp.sql", "name": "stg_pinterest_ads__ad_group_history_tmp", "alias": "stg_pinterest_ads__ad_group_history_tmp", "checksum": {"name": "sha256", "checksum": "23726e9b019c8268e9aaae828c6c1430685538bef615e52f2c17436dd3615dfa"}, "tags": [], "refs": [], "sources": [["pinterest_ads", "ad_group_history"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/tmp/stg_pinterest_ads__ad_group_history_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "view"}, "created_at": 1658332384.8277068, "compiled_sql": "select *\nfrom \"postgres\".\"pinterest_source_integration_tests\".\"ad_group_history_data\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__ad_group_history_tmp\""}, "model.pinterest_source.stg_pinterest_ads__pin_promotion_history_tmp": {"raw_sql": "select *\nfrom {{ var('pin_promotion_history') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.pinterest_source.pinterest_ads.pin_promotion_history"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "tmp", "stg_pinterest_ads__pin_promotion_history_tmp"], "unique_id": "model.pinterest_source.stg_pinterest_ads__pin_promotion_history_tmp", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "tmp/stg_pinterest_ads__pin_promotion_history_tmp.sql", "original_file_path": "models/tmp/stg_pinterest_ads__pin_promotion_history_tmp.sql", "name": "stg_pinterest_ads__pin_promotion_history_tmp", "alias": "stg_pinterest_ads__pin_promotion_history_tmp", "checksum": {"name": "sha256", "checksum": "065bd24ab667bb3742cf11e3d96295c4c78ecdc04bb4d86a8bfa521482c55e71"}, "tags": [], "refs": [], "sources": [["pinterest_ads", "pin_promotion_history"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/tmp/stg_pinterest_ads__pin_promotion_history_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "view"}, "created_at": 1658332384.830543, "compiled_sql": "select *\nfrom \"postgres\".\"pinterest_source_integration_tests\".\"pin_promotion_history_data\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__pin_promotion_history_tmp\""}, "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_history_ad_group_id.220c6220be": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "ad_group_id", "model": "{{ get_where_subquery(ref('stg_pinterest_ads__ad_group_history')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.pinterest_source.stg_pinterest_ads__ad_group_history"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "postgres", "schema": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "not_null_stg_pinterest_ads__ad_group_history_ad_group_id"], "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_history_ad_group_id.220c6220be", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "not_null_stg_pinterest_ads__ad_group_history_ad_group_id.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "not_null_stg_pinterest_ads__ad_group_history_ad_group_id", "alias": "not_null_stg_pinterest_ads__ad_group_history_ad_group_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__ad_group_history"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/not_null_stg_pinterest_ads__ad_group_history_ad_group_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1658332384.881182, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__ad_group_history\"\nwhere ad_group_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "ad_group_id", "file_key_name": "models.stg_pinterest_ads__ad_group_history"}, "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_history_ad_group_id___fivetran_synced.1132e1f339": {"raw_sql": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_14ec492421aa290adbd40aba9f38efa7\") }}", "test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["ad_group_id", "_fivetran_synced"], "model": "{{ get_where_subquery(ref('stg_pinterest_ads__ad_group_history')) }}"}, "namespace": "dbt_utils"}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.pinterest_source.stg_pinterest_ads__ad_group_history"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_14ec492421aa290adbd40aba9f38efa7", "schema": "dbt_test__audit", "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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_history_ad_group_id___fivetran_synced"], "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_history_ad_group_id___fivetran_synced.1132e1f339", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "dbt_utils_unique_combination_o_14ec492421aa290adbd40aba9f38efa7.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_history_ad_group_id___fivetran_synced", "alias": "dbt_utils_unique_combination_o_14ec492421aa290adbd40aba9f38efa7", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__ad_group_history"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/dbt_utils_unique_combination_o_14ec492421aa290adbd40aba9f38efa7.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_14ec492421aa290adbd40aba9f38efa7"}, "created_at": 1658332384.8825128, "compiled_sql": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n ad_group_id, _fivetran_synced\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__ad_group_history\"\n group by ad_group_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_pinterest_ads__ad_group_history"}, "test.pinterest_source.not_null_stg_pinterest_ads__campaign_history_campaign_id.60cb10d341": {"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_pinterest_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.pinterest_source.stg_pinterest_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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "not_null_stg_pinterest_ads__campaign_history_campaign_id"], "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__campaign_history_campaign_id.60cb10d341", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "not_null_stg_pinterest_ads__campaign_history_campaign_id.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "not_null_stg_pinterest_ads__campaign_history_campaign_id", "alias": "not_null_stg_pinterest_ads__campaign_history_campaign_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__campaign_history"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/not_null_stg_pinterest_ads__campaign_history_campaign_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1658332384.890048, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_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_pinterest_ads__campaign_history"}, "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_history_campaign_id___fivetran_synced.eff7196b87": {"raw_sql": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_0f71f27ed6b0ce2d4940b4361559871b\") }}", "test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["campaign_id", "_fivetran_synced"], "model": "{{ get_where_subquery(ref('stg_pinterest_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.pinterest_source.stg_pinterest_ads__campaign_history"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_0f71f27ed6b0ce2d4940b4361559871b", "schema": "dbt_test__audit", "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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_history_campaign_id___fivetran_synced"], "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_history_campaign_id___fivetran_synced.eff7196b87", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "dbt_utils_unique_combination_o_0f71f27ed6b0ce2d4940b4361559871b.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_history_campaign_id___fivetran_synced", "alias": "dbt_utils_unique_combination_o_0f71f27ed6b0ce2d4940b4361559871b", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__campaign_history"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/dbt_utils_unique_combination_o_0f71f27ed6b0ce2d4940b4361559871b.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_0f71f27ed6b0ce2d4940b4361559871b"}, "created_at": 1658332384.891156, "compiled_sql": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n campaign_id, _fivetran_synced\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__campaign_history\"\n group by campaign_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_pinterest_ads__campaign_history"}, "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_history_pin_promotion_id.171995cd34": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}{{ config(alias=\"not_null_stg_pinterest_ads__pi_5cf03dfc3d2615f9d68ae62d55aa2b8f\") }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "pin_promotion_id", "model": "{{ get_where_subquery(ref('stg_pinterest_ads__pin_promotion_history')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_history"]}, "config": {"enabled": true, "alias": "not_null_stg_pinterest_ads__pi_5cf03dfc3d2615f9d68ae62d55aa2b8f", "schema": "dbt_test__audit", "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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "not_null_stg_pinterest_ads__pin_promotion_history_pin_promotion_id"], "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_history_pin_promotion_id.171995cd34", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "not_null_stg_pinterest_ads__pi_5cf03dfc3d2615f9d68ae62d55aa2b8f.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "not_null_stg_pinterest_ads__pin_promotion_history_pin_promotion_id", "alias": "not_null_stg_pinterest_ads__pi_5cf03dfc3d2615f9d68ae62d55aa2b8f", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__pin_promotion_history"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/not_null_stg_pinterest_ads__pi_5cf03dfc3d2615f9d68ae62d55aa2b8f.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "not_null_stg_pinterest_ads__pi_5cf03dfc3d2615f9d68ae62d55aa2b8f"}, "created_at": 1658332384.8937101, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__pin_promotion_history\"\nwhere pin_promotion_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "pin_promotion_id", "file_key_name": "models.stg_pinterest_ads__pin_promotion_history"}, "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_history__fivetran_synced__pin_promotion_id.8e9ab31ea9": {"raw_sql": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_e0501de9c3316348957b42725bcba175\") }}", "test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["_fivetran_synced", "pin_promotion_id"], "model": "{{ get_where_subquery(ref('stg_pinterest_ads__pin_promotion_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.pinterest_source.stg_pinterest_ads__pin_promotion_history"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_e0501de9c3316348957b42725bcba175", "schema": "dbt_test__audit", "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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_history__fivetran_synced__pin_promotion_id"], "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_history__fivetran_synced__pin_promotion_id.8e9ab31ea9", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "dbt_utils_unique_combination_o_e0501de9c3316348957b42725bcba175.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_history__fivetran_synced__pin_promotion_id", "alias": "dbt_utils_unique_combination_o_e0501de9c3316348957b42725bcba175", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__pin_promotion_history"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/dbt_utils_unique_combination_o_e0501de9c3316348957b42725bcba175.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_e0501de9c3316348957b42725bcba175"}, "created_at": 1658332384.895236, "compiled_sql": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n _fivetran_synced, pin_promotion_id\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__pin_promotion_history\"\n group by _fivetran_synced, pin_promotion_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_pinterest_ads__pin_promotion_history"}, "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_report_date_day.ed272212a1": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "date_day", "model": "{{ get_where_subquery(ref('stg_pinterest_ads__pin_promotion_report')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "not_null_stg_pinterest_ads__pin_promotion_report_date_day"], "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_report_date_day.ed272212a1", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "not_null_stg_pinterest_ads__pin_promotion_report_date_day.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "not_null_stg_pinterest_ads__pin_promotion_report_date_day", "alias": "not_null_stg_pinterest_ads__pin_promotion_report_date_day", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__pin_promotion_report"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/not_null_stg_pinterest_ads__pin_promotion_report_date_day.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1658332384.897883, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__pin_promotion_report\"\nwhere date_day is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "date_day", "file_key_name": "models.stg_pinterest_ads__pin_promotion_report"}, "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_report_pin_promotion_id.9c3c9f71ab": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}{{ config(alias=\"not_null_stg_pinterest_ads__pi_d0985f4b7b2bc6d5ec7f384cc03d6f4b\") }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "pin_promotion_id", "model": "{{ get_where_subquery(ref('stg_pinterest_ads__pin_promotion_report')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_report"]}, "config": {"enabled": true, "alias": "not_null_stg_pinterest_ads__pi_d0985f4b7b2bc6d5ec7f384cc03d6f4b", "schema": "dbt_test__audit", "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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "not_null_stg_pinterest_ads__pin_promotion_report_pin_promotion_id"], "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_report_pin_promotion_id.9c3c9f71ab", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "not_null_stg_pinterest_ads__pi_d0985f4b7b2bc6d5ec7f384cc03d6f4b.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "not_null_stg_pinterest_ads__pin_promotion_report_pin_promotion_id", "alias": "not_null_stg_pinterest_ads__pi_d0985f4b7b2bc6d5ec7f384cc03d6f4b", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__pin_promotion_report"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/not_null_stg_pinterest_ads__pi_d0985f4b7b2bc6d5ec7f384cc03d6f4b.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "not_null_stg_pinterest_ads__pi_d0985f4b7b2bc6d5ec7f384cc03d6f4b"}, "created_at": 1658332384.898901, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__pin_promotion_report\"\nwhere pin_promotion_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "pin_promotion_id", "file_key_name": "models.stg_pinterest_ads__pin_promotion_report"}, "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_report_date_day__pin_promotion_id__ad_group_id__campaign_id__advertiser_id.7ea04e6024": {"raw_sql": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_b200b80456022485be650ebe0c64fc19\") }}", "test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["date_day", "pin_promotion_id", "ad_group_id", "campaign_id", "advertiser_id"], "model": "{{ get_where_subquery(ref('stg_pinterest_ads__pin_promotion_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.pinterest_source.stg_pinterest_ads__pin_promotion_report"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_b200b80456022485be650ebe0c64fc19", "schema": "dbt_test__audit", "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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_report_date_day__pin_promotion_id__ad_group_id__campaign_id__advertiser_id"], "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_report_date_day__pin_promotion_id__ad_group_id__campaign_id__advertiser_id.7ea04e6024", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "dbt_utils_unique_combination_o_b200b80456022485be650ebe0c64fc19.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_report_date_day__pin_promotion_id__ad_group_id__campaign_id__advertiser_id", "alias": "dbt_utils_unique_combination_o_b200b80456022485be650ebe0c64fc19", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__pin_promotion_report"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/dbt_utils_unique_combination_o_b200b80456022485be650ebe0c64fc19.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_b200b80456022485be650ebe0c64fc19"}, "created_at": 1658332384.899936, "compiled_sql": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n date_day, pin_promotion_id, ad_group_id, campaign_id, advertiser_id\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__pin_promotion_report\"\n group by date_day, pin_promotion_id, ad_group_id, campaign_id, advertiser_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_pinterest_ads__pin_promotion_report"}, "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_report_date_day.80e8904c4c": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "date_day", "model": "{{ get_where_subquery(ref('stg_pinterest_ads__ad_group_report')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.pinterest_source.stg_pinterest_ads__ad_group_report"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "postgres", "schema": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "not_null_stg_pinterest_ads__ad_group_report_date_day"], "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_report_date_day.80e8904c4c", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "not_null_stg_pinterest_ads__ad_group_report_date_day.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "not_null_stg_pinterest_ads__ad_group_report_date_day", "alias": "not_null_stg_pinterest_ads__ad_group_report_date_day", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__ad_group_report"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/not_null_stg_pinterest_ads__ad_group_report_date_day.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1658332384.902978, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__ad_group_report\"\nwhere date_day is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "date_day", "file_key_name": "models.stg_pinterest_ads__ad_group_report"}, "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_report_ad_group_id.bb8cf3c471": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "ad_group_id", "model": "{{ get_where_subquery(ref('stg_pinterest_ads__ad_group_report')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.pinterest_source.stg_pinterest_ads__ad_group_report"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "postgres", "schema": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "not_null_stg_pinterest_ads__ad_group_report_ad_group_id"], "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_report_ad_group_id.bb8cf3c471", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "not_null_stg_pinterest_ads__ad_group_report_ad_group_id.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "not_null_stg_pinterest_ads__ad_group_report_ad_group_id", "alias": "not_null_stg_pinterest_ads__ad_group_report_ad_group_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__ad_group_report"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/not_null_stg_pinterest_ads__ad_group_report_ad_group_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1658332384.9041018, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__ad_group_report\"\nwhere ad_group_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "ad_group_id", "file_key_name": "models.stg_pinterest_ads__ad_group_report"}, "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_report_date_day__ad_group_id__advertiser_id.692e15663e": {"raw_sql": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_ba19ed5f568fbf1774b58841af994821\") }}", "test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["date_day", "ad_group_id", "advertiser_id"], "model": "{{ get_where_subquery(ref('stg_pinterest_ads__ad_group_report')) }}"}, "namespace": "dbt_utils"}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.pinterest_source.stg_pinterest_ads__ad_group_report"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_ba19ed5f568fbf1774b58841af994821", "schema": "dbt_test__audit", "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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_report_date_day__ad_group_id__advertiser_id"], "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_report_date_day__ad_group_id__advertiser_id.692e15663e", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "dbt_utils_unique_combination_o_ba19ed5f568fbf1774b58841af994821.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_report_date_day__ad_group_id__advertiser_id", "alias": "dbt_utils_unique_combination_o_ba19ed5f568fbf1774b58841af994821", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__ad_group_report"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/dbt_utils_unique_combination_o_ba19ed5f568fbf1774b58841af994821.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_ba19ed5f568fbf1774b58841af994821"}, "created_at": 1658332384.905067, "compiled_sql": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n date_day, ad_group_id, advertiser_id\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__ad_group_report\"\n group by date_day, ad_group_id, advertiser_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_pinterest_ads__ad_group_report"}, "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_history_advertiser_id.7d24f665fb": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "advertiser_id", "model": "{{ get_where_subquery(ref('stg_pinterest_ads__advertiser_history')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.pinterest_source.stg_pinterest_ads__advertiser_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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "not_null_stg_pinterest_ads__advertiser_history_advertiser_id"], "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_history_advertiser_id.7d24f665fb", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "not_null_stg_pinterest_ads__advertiser_history_advertiser_id.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "not_null_stg_pinterest_ads__advertiser_history_advertiser_id", "alias": "not_null_stg_pinterest_ads__advertiser_history_advertiser_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__advertiser_history"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/not_null_stg_pinterest_ads__advertiser_history_advertiser_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1658332384.907798, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__advertiser_history\"\nwhere advertiser_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "advertiser_id", "file_key_name": "models.stg_pinterest_ads__advertiser_history"}, "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_history_updated_at__advertiser_id.94e8f4de4b": {"raw_sql": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_ac571a135eb9bbe6db1401c33b830733\") }}", "test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["updated_at", "advertiser_id"], "model": "{{ get_where_subquery(ref('stg_pinterest_ads__advertiser_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.pinterest_source.stg_pinterest_ads__advertiser_history"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_ac571a135eb9bbe6db1401c33b830733", "schema": "dbt_test__audit", "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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_history_updated_at__advertiser_id"], "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_history_updated_at__advertiser_id.94e8f4de4b", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "dbt_utils_unique_combination_o_ac571a135eb9bbe6db1401c33b830733.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_history_updated_at__advertiser_id", "alias": "dbt_utils_unique_combination_o_ac571a135eb9bbe6db1401c33b830733", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__advertiser_history"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/dbt_utils_unique_combination_o_ac571a135eb9bbe6db1401c33b830733.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_ac571a135eb9bbe6db1401c33b830733"}, "created_at": 1658332384.90884, "compiled_sql": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n updated_at, advertiser_id\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__advertiser_history\"\n group by updated_at, advertiser_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_pinterest_ads__advertiser_history"}, "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_report_date_day.153bd03c95": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "date_day", "model": "{{ get_where_subquery(ref('stg_pinterest_ads__advertiser_report')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.pinterest_source.stg_pinterest_ads__advertiser_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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "not_null_stg_pinterest_ads__advertiser_report_date_day"], "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_report_date_day.153bd03c95", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "not_null_stg_pinterest_ads__advertiser_report_date_day.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "not_null_stg_pinterest_ads__advertiser_report_date_day", "alias": "not_null_stg_pinterest_ads__advertiser_report_date_day", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__advertiser_report"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/not_null_stg_pinterest_ads__advertiser_report_date_day.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1658332384.9118998, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__advertiser_report\"\nwhere date_day is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "date_day", "file_key_name": "models.stg_pinterest_ads__advertiser_report"}, "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_report_advertiser_id.1b16ed73ff": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "advertiser_id", "model": "{{ get_where_subquery(ref('stg_pinterest_ads__advertiser_report')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.pinterest_source.stg_pinterest_ads__advertiser_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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "not_null_stg_pinterest_ads__advertiser_report_advertiser_id"], "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_report_advertiser_id.1b16ed73ff", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "not_null_stg_pinterest_ads__advertiser_report_advertiser_id.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "not_null_stg_pinterest_ads__advertiser_report_advertiser_id", "alias": "not_null_stg_pinterest_ads__advertiser_report_advertiser_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__advertiser_report"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/not_null_stg_pinterest_ads__advertiser_report_advertiser_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1658332384.912948, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__advertiser_report\"\nwhere advertiser_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "advertiser_id", "file_key_name": "models.stg_pinterest_ads__advertiser_report"}, "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_report_date_day__advertiser_id.e92ce8a9c0": {"raw_sql": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_7440d10d36ca9b555b1bb533d442c6de\") }}", "test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["date_day", "advertiser_id"], "model": "{{ get_where_subquery(ref('stg_pinterest_ads__advertiser_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.pinterest_source.stg_pinterest_ads__advertiser_report"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_7440d10d36ca9b555b1bb533d442c6de", "schema": "dbt_test__audit", "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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_report_date_day__advertiser_id"], "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_report_date_day__advertiser_id.e92ce8a9c0", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "dbt_utils_unique_combination_o_7440d10d36ca9b555b1bb533d442c6de.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_report_date_day__advertiser_id", "alias": "dbt_utils_unique_combination_o_7440d10d36ca9b555b1bb533d442c6de", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__advertiser_report"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/dbt_utils_unique_combination_o_7440d10d36ca9b555b1bb533d442c6de.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_7440d10d36ca9b555b1bb533d442c6de"}, "created_at": 1658332384.9141161, "compiled_sql": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n date_day, advertiser_id\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__advertiser_report\"\n group by date_day, advertiser_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_pinterest_ads__advertiser_report"}, "test.pinterest_source.not_null_stg_pinterest_ads__campaign_report_date_day.7ef5fb1238": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "date_day", "model": "{{ get_where_subquery(ref('stg_pinterest_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.pinterest_source.stg_pinterest_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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "not_null_stg_pinterest_ads__campaign_report_date_day"], "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__campaign_report_date_day.7ef5fb1238", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "not_null_stg_pinterest_ads__campaign_report_date_day.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "not_null_stg_pinterest_ads__campaign_report_date_day", "alias": "not_null_stg_pinterest_ads__campaign_report_date_day", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__campaign_report"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/not_null_stg_pinterest_ads__campaign_report_date_day.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1658332384.9167318, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__campaign_report\"\nwhere date_day is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "date_day", "file_key_name": "models.stg_pinterest_ads__campaign_report"}, "test.pinterest_source.not_null_stg_pinterest_ads__campaign_report_campaign_id.a287eba0fc": {"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_pinterest_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.pinterest_source.stg_pinterest_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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "not_null_stg_pinterest_ads__campaign_report_campaign_id"], "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__campaign_report_campaign_id.a287eba0fc", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "not_null_stg_pinterest_ads__campaign_report_campaign_id.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "not_null_stg_pinterest_ads__campaign_report_campaign_id", "alias": "not_null_stg_pinterest_ads__campaign_report_campaign_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__campaign_report"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/not_null_stg_pinterest_ads__campaign_report_campaign_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1658332384.91786, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__campaign_report\"\nwhere campaign_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "campaign_id", "file_key_name": "models.stg_pinterest_ads__campaign_report"}, "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_report_date_day__campaign_id__advertiser_id.ff47cb8abc": {"raw_sql": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_ea5276bb765474198ad51f22f75fccbf\") }}", "test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["date_day", "campaign_id", "advertiser_id"], "model": "{{ get_where_subquery(ref('stg_pinterest_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.pinterest_source.stg_pinterest_ads__campaign_report"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_ea5276bb765474198ad51f22f75fccbf", "schema": "dbt_test__audit", "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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_report_date_day__campaign_id__advertiser_id"], "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_report_date_day__campaign_id__advertiser_id.ff47cb8abc", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "dbt_utils_unique_combination_o_ea5276bb765474198ad51f22f75fccbf.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_report_date_day__campaign_id__advertiser_id", "alias": "dbt_utils_unique_combination_o_ea5276bb765474198ad51f22f75fccbf", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__campaign_report"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/dbt_utils_unique_combination_o_ea5276bb765474198ad51f22f75fccbf.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_ea5276bb765474198ad51f22f75fccbf"}, "created_at": 1658332384.918827, "compiled_sql": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n date_day, campaign_id, advertiser_id\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__campaign_report\"\n group by date_day, campaign_id, advertiser_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_pinterest_ads__campaign_report"}, "test.pinterest_source.not_null_stg_pinterest_ads__keyword_history_keyword_id.246889377a": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "keyword_id", "model": "{{ get_where_subquery(ref('stg_pinterest_ads__keyword_history')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.pinterest_source.stg_pinterest_ads__keyword_history"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "postgres", "schema": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "not_null_stg_pinterest_ads__keyword_history_keyword_id"], "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__keyword_history_keyword_id.246889377a", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "not_null_stg_pinterest_ads__keyword_history_keyword_id.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "not_null_stg_pinterest_ads__keyword_history_keyword_id", "alias": "not_null_stg_pinterest_ads__keyword_history_keyword_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__keyword_history"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/not_null_stg_pinterest_ads__keyword_history_keyword_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1658332384.9216168, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__keyword_history\"\nwhere keyword_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "keyword_id", "file_key_name": "models.stg_pinterest_ads__keyword_history"}, "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_history_keyword_id__ad_group_id___fivetran_synced.d122faa877": {"raw_sql": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_ed0c009a9ff1bbb46e1ea2a210b25628\") }}", "test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["keyword_id", "ad_group_id", "_fivetran_synced"], "model": "{{ get_where_subquery(ref('stg_pinterest_ads__keyword_history')) }}"}, "namespace": "dbt_utils"}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.pinterest_source.stg_pinterest_ads__keyword_history"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_ed0c009a9ff1bbb46e1ea2a210b25628", "schema": "dbt_test__audit", "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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_history_keyword_id__ad_group_id___fivetran_synced"], "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_history_keyword_id__ad_group_id___fivetran_synced.d122faa877", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "dbt_utils_unique_combination_o_ed0c009a9ff1bbb46e1ea2a210b25628.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_history_keyword_id__ad_group_id___fivetran_synced", "alias": "dbt_utils_unique_combination_o_ed0c009a9ff1bbb46e1ea2a210b25628", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__keyword_history"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/dbt_utils_unique_combination_o_ed0c009a9ff1bbb46e1ea2a210b25628.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_ed0c009a9ff1bbb46e1ea2a210b25628"}, "created_at": 1658332384.9225721, "compiled_sql": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n keyword_id, ad_group_id, _fivetran_synced\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__keyword_history\"\n group by keyword_id, ad_group_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_pinterest_ads__keyword_history"}, "test.pinterest_source.not_null_stg_pinterest_ads__keyword_report_date_day.9937216300": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "date_day", "model": "{{ get_where_subquery(ref('stg_pinterest_ads__keyword_report')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.pinterest_source.stg_pinterest_ads__keyword_report"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "postgres", "schema": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "not_null_stg_pinterest_ads__keyword_report_date_day"], "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__keyword_report_date_day.9937216300", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "not_null_stg_pinterest_ads__keyword_report_date_day.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "not_null_stg_pinterest_ads__keyword_report_date_day", "alias": "not_null_stg_pinterest_ads__keyword_report_date_day", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__keyword_report"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/not_null_stg_pinterest_ads__keyword_report_date_day.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1658332384.925296, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__keyword_report\"\nwhere date_day is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "date_day", "file_key_name": "models.stg_pinterest_ads__keyword_report"}, "test.pinterest_source.not_null_stg_pinterest_ads__keyword_report_keyword_id.5f00679c48": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "keyword_id", "model": "{{ get_where_subquery(ref('stg_pinterest_ads__keyword_report')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.pinterest_source.stg_pinterest_ads__keyword_report"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "postgres", "schema": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "not_null_stg_pinterest_ads__keyword_report_keyword_id"], "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__keyword_report_keyword_id.5f00679c48", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "not_null_stg_pinterest_ads__keyword_report_keyword_id.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "not_null_stg_pinterest_ads__keyword_report_keyword_id", "alias": "not_null_stg_pinterest_ads__keyword_report_keyword_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__keyword_report"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/not_null_stg_pinterest_ads__keyword_report_keyword_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1658332384.926462, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__keyword_report\"\nwhere keyword_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "keyword_id", "file_key_name": "models.stg_pinterest_ads__keyword_report"}, "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_report_date_day__keyword_id__ad_group_id__campaign_id__advertiser_id.3ac101cc13": {"raw_sql": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_9e2909bcbf42ab2426c3540a2e7a0bb7\") }}", "test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["date_day", "keyword_id", "ad_group_id", "campaign_id", "advertiser_id"], "model": "{{ get_where_subquery(ref('stg_pinterest_ads__keyword_report')) }}"}, "namespace": "dbt_utils"}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.pinterest_source.stg_pinterest_ads__keyword_report"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_9e2909bcbf42ab2426c3540a2e7a0bb7", "schema": "dbt_test__audit", "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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_report_date_day__keyword_id__ad_group_id__campaign_id__advertiser_id"], "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_report_date_day__keyword_id__ad_group_id__campaign_id__advertiser_id.3ac101cc13", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "dbt_utils_unique_combination_o_9e2909bcbf42ab2426c3540a2e7a0bb7.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_report_date_day__keyword_id__ad_group_id__campaign_id__advertiser_id", "alias": "dbt_utils_unique_combination_o_9e2909bcbf42ab2426c3540a2e7a0bb7", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__keyword_report"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/dbt_utils_unique_combination_o_9e2909bcbf42ab2426c3540a2e7a0bb7.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_9e2909bcbf42ab2426c3540a2e7a0bb7"}, "created_at": 1658332384.9274518, "compiled_sql": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n date_day, keyword_id, ad_group_id, campaign_id, advertiser_id\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__keyword_report\"\n group by date_day, keyword_id, ad_group_id, campaign_id, advertiser_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_pinterest_ads__keyword_report"}}, "sources": {"source.pinterest_source.pinterest_ads.pin_promotion_report": {"fqn": ["pinterest_source", "pinterest_ads", "pin_promotion_report"], "database": "postgres", "schema": "pinterest_source_integration_tests", "unique_id": "source.pinterest_source.pinterest_ads.pin_promotion_report", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "models/src_pinterest_ads.yml", "original_file_path": "models/src_pinterest_ads.yml", "name": "pin_promotion_report", "source_name": "pinterest_ads", "source_description": "", "loader": "Fivetran", "identifier": "pin_promotion_report_data", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 168, "period": "hour"}, "filter": null}, "external": null, "description": "Each record represents the daily performance of a Pinterest Pin promotion.", "columns": {"date": {"name": "date", "description": "The performance date of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "pin_promotion_id": {"name": "pin_promotion_id", "description": "The ID of the related Pin promotion.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_id": {"name": "ad_group_id", "description": "The ID of the related Ad group.", "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": []}, "advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impression_1": {"name": "impression_1", "description": "The number of paid pin impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impression_2": {"name": "impression_2", "description": "The number of earned pin impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clickthrough_1": {"name": "clickthrough_1", "description": "The number of paid pin clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clickthrough_2": {"name": "clickthrough_2", "description": "The number of earned outbound clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend_in_micro_dollar": {"name": "spend_in_micro_dollar", "description": "The amount of spend in micro dollars that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"pin_promotion_report_data\"", "created_at": 1658332384.955369}, "source.pinterest_source.pinterest_ads.pin_promotion_history": {"fqn": ["pinterest_source", "pinterest_ads", "pin_promotion_history"], "database": "postgres", "schema": "pinterest_source_integration_tests", "unique_id": "source.pinterest_source.pinterest_ads.pin_promotion_history", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "models/src_pinterest_ads.yml", "original_file_path": "models/src_pinterest_ads.yml", "name": "pin_promotion_history", "source_name": "pinterest_ads", "source_description": "", "loader": "Fivetran", "identifier": "pin_promotion_history_data", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 168, "period": "hour"}, "filter": null}, "external": null, "description": "Each record represents a version of a Pinterest Pin promotion.", "columns": {"id": {"name": "id", "description": "The ID of the related Pin promotion.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_id": {"name": "ad_group_id", "description": "The ID of the related Ad group.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "created_time": {"name": "created_time", "description": "Pin creation time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "destination_url": {"name": "destination_url", "description": "Pin destination URL.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Pin promotion name.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "pin_id": {"name": "pin_id", "description": "Original pin ID.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status": {"name": "status", "description": "The status of the Pin promotion. One of \"ACTIVE\", \"ARCHIVED\", \"PAUSED\"", "meta": {}, "data_type": null, "quote": null, "tags": []}, "creative_type": {"name": "creative_type", "description": "The creative type. \nOne of \"APP\", \"APP_VIDEO\", \"BOARD\", \"CAROUSEL\", \"CINEMATIC\", \"COMMERCE\", \"MAX_VIDEO\", \"NATIVE_VIDEO\", \"REGULAR\", \n\"SEARCH_PROMINENCE\", \"SEARCH_PROMINENCE_CAROUSEL\", \"SHOPPING\", \"SHOP_THE_PIN\", \"THIRD_PARTY\", or \"VIDEO\".\n", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"pin_promotion_history_data\"", "created_at": 1658332384.9554718}, "source.pinterest_source.pinterest_ads.campaign_history": {"fqn": ["pinterest_source", "pinterest_ads", "campaign_history"], "database": "postgres", "schema": "pinterest_source_integration_tests", "unique_id": "source.pinterest_source.pinterest_ads.campaign_history", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "models/src_pinterest_ads.yml", "original_file_path": "models/src_pinterest_ads.yml", "name": "campaign_history", "source_name": "pinterest_ads", "source_description": "", "loader": "Fivetran", "identifier": "campaign_history_data", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 168, "period": "hour"}, "filter": null}, "external": null, "description": "Each record represents a version of a Pinterest Campaign.", "columns": {"id": {"name": "id", "description": "The ID of the related Campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "created_time": {"name": "created_time", "description": "Campaign creation time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Campaign name.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status": {"name": "status", "description": "The status of the Campaign. One of \"ACTIVE\", \"ARCHIVED\", \"PAUSED\"", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"campaign_history_data\"", "created_at": 1658332384.95554}, "source.pinterest_source.pinterest_ads.ad_group_history": {"fqn": ["pinterest_source", "pinterest_ads", "ad_group_history"], "database": "postgres", "schema": "pinterest_source_integration_tests", "unique_id": "source.pinterest_source.pinterest_ads.ad_group_history", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "models/src_pinterest_ads.yml", "original_file_path": "models/src_pinterest_ads.yml", "name": "ad_group_history", "source_name": "pinterest_ads", "source_description": "", "loader": "Fivetran", "identifier": "ad_group_history_data", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 168, "period": "hour"}, "filter": null}, "external": null, "description": "Each record represents a version of a Pinterest Ad Group.", "columns": {"id": {"name": "id", "description": "The ID of the related Ad group.", "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": []}, "created_time": {"name": "created_time", "description": "Ad group creation time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Ad group name.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status": {"name": "status", "description": "The status of the Ad group. One of \"ACTIVE\", \"ARCHIVED\", \"PAUSED\"", "meta": {}, "data_type": null, "quote": null, "tags": []}, "start_time": {"name": "start_time", "description": "Ad group start time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "end_time": {"name": "end_time", "description": "Ad group end time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"ad_group_history_data\"", "created_at": 1658332384.955611}, "source.pinterest_source.pinterest_ads.ad_group_report": {"fqn": ["pinterest_source", "pinterest_ads", "ad_group_report"], "database": "postgres", "schema": "pinterest_source_integration_tests", "unique_id": "source.pinterest_source.pinterest_ads.ad_group_report", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "models/src_pinterest_ads.yml", "original_file_path": "models/src_pinterest_ads.yml", "name": "ad_group_report", "source_name": "pinterest_ads", "source_description": "", "loader": "Fivetran", "identifier": "ad_group_report_data", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 168, "period": "hour"}, "filter": null}, "external": null, "description": "Each record represents the daily performance of a Pinterest ad group.", "columns": {"date": {"name": "date", "description": "The performance date of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_id": {"name": "ad_group_id", "description": "The ID of the related Ad group.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_name": {"name": "ad_group_name", "description": "Name of the ad group.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_status": {"name": "ad_group_status", "description": "Status of the ad group.", "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": []}, "advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impression_1": {"name": "impression_1", "description": "The number of paid pin impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impression_2": {"name": "impression_2", "description": "The number of earned pin impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clickthrough_1": {"name": "clickthrough_1", "description": "The number of paid pin clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clickthrough_2": {"name": "clickthrough_2", "description": "The number of earned outbound clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend_in_micro_dollar": {"name": "spend_in_micro_dollar", "description": "The amount of spend in micro dollars that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"ad_group_report_data\"", "created_at": 1658332384.955681}, "source.pinterest_source.pinterest_ads.advertiser_history": {"fqn": ["pinterest_source", "pinterest_ads", "advertiser_history"], "database": "postgres", "schema": "pinterest_source_integration_tests", "unique_id": "source.pinterest_source.pinterest_ads.advertiser_history", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "models/src_pinterest_ads.yml", "original_file_path": "models/src_pinterest_ads.yml", "name": "advertiser_history", "source_name": "pinterest_ads", "source_description": "", "loader": "Fivetran", "identifier": "advertiser_history_data", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 168, "period": "hour"}, "filter": null}, "external": null, "description": "Each record represents a version of a Pinterest advertiser.", "columns": {"id": {"name": "id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Name of the advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status": {"name": "status", "description": "Status of the advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "billing_profile_status": {"name": "billing_profile_status", "description": "Status of the billing profile.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "billing_type": {"name": "billing_type", "description": "The billing type of the advertiser. Will typically be CREDIT_CARD or INVOICE.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "country": {"name": "country", "description": "The country code where the advertiser is located.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "created_time": {"name": "created_time", "description": "Timestamp of when a record was created.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "currency": {"name": "currency", "description": "The currency code which the a", "meta": {}, "data_type": null, "quote": null, "tags": []}, "merchant_id": {"name": "merchant_id", "description": "Unique ID of the merchant associated with the advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "owner_user_id": {"name": "owner_user_id", "description": "Unique identifier of the owner user.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "updated_time": {"name": "updated_time", "description": "Timestamp of when a record was last updated.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"advertiser_history_data\"", "created_at": 1658332384.95575}, "source.pinterest_source.pinterest_ads.advertiser_report": {"fqn": ["pinterest_source", "pinterest_ads", "advertiser_report"], "database": "postgres", "schema": "pinterest_source_integration_tests", "unique_id": "source.pinterest_source.pinterest_ads.advertiser_report", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "models/src_pinterest_ads.yml", "original_file_path": "models/src_pinterest_ads.yml", "name": "advertiser_report", "source_name": "pinterest_ads", "source_description": "", "loader": "Fivetran", "identifier": "advertiser_report_data", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 168, "period": "hour"}, "filter": null}, "external": null, "description": "Each record represents the daily performance of a Pinterest advertiser.", "columns": {"date": {"name": "date", "description": "The performance date of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impression_1": {"name": "impression_1", "description": "The number of paid pin impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impression_2": {"name": "impression_2", "description": "The number of earned pin impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clickthrough_1": {"name": "clickthrough_1", "description": "The number of paid pin clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clickthrough_2": {"name": "clickthrough_2", "description": "The number of earned outbound clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend_in_micro_dollar": {"name": "spend_in_micro_dollar", "description": "The amount of spend in micro dollars that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"advertiser_report_data\"", "created_at": 1658332384.955818}, "source.pinterest_source.pinterest_ads.campaign_report": {"fqn": ["pinterest_source", "pinterest_ads", "campaign_report"], "database": "postgres", "schema": "pinterest_source_integration_tests", "unique_id": "source.pinterest_source.pinterest_ads.campaign_report", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "models/src_pinterest_ads.yml", "original_file_path": "models/src_pinterest_ads.yml", "name": "campaign_report", "source_name": "pinterest_ads", "source_description": "", "loader": "Fivetran", "identifier": "campaign_report_data", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 168, "period": "hour"}, "filter": null}, "external": null, "description": "Each record represents the daily performance of a Pinterest campaign.", "columns": {"date": {"name": "date", "description": "The performance date of the record.", "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": "Name of the campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_status": {"name": "campaign_status", "description": "Status of the campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impression_1": {"name": "impression_1", "description": "The number of paid pin impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impression_2": {"name": "impression_2", "description": "The number of earned pin impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clickthrough_1": {"name": "clickthrough_1", "description": "The number of paid pin clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clickthrough_2": {"name": "clickthrough_2", "description": "The number of earned outbound clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend_in_micro_dollar": {"name": "spend_in_micro_dollar", "description": "The amount of spend in micro dollars that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"campaign_report_data\"", "created_at": 1658332384.955888}, "source.pinterest_source.pinterest_ads.keyword_history": {"fqn": ["pinterest_source", "pinterest_ads", "keyword_history"], "database": "postgres", "schema": "pinterest_source_integration_tests", "unique_id": "source.pinterest_source.pinterest_ads.keyword_history", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "models/src_pinterest_ads.yml", "original_file_path": "models/src_pinterest_ads.yml", "name": "keyword_history", "source_name": "pinterest_ads", "source_description": "", "loader": "Fivetran", "identifier": "keyword_history_data", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 168, "period": "hour"}, "filter": null}, "external": null, "description": "Each record represents a version of a Pinterest keyword.", "columns": {"id": {"name": "id", "description": "Unique identifier of the keyword.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "value": {"name": "value", "description": "The text value that makes upd the keyword.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_id": {"name": "_fivetran_id", "description": "The unique identifier of the record within the Fivetran synced table.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_id": {"name": "ad_group_id", "description": "The ID of the related Ad group.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "archived": {"name": "archived", "description": "Boolean indicating if the keyword is archived.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "bid": {"name": "bid", "description": "Bid amount set for the keyword.", "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": []}, "match_type": {"name": "match_type", "description": "Type of match the keyword is tied to. Either Exact or Broad.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "parent_type": {"name": "parent_type", "description": "Identifier of what grain the parent type is. Ad group or campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"keyword_history_data\"", "created_at": 1658332384.9559848}, "source.pinterest_source.pinterest_ads.keyword_report": {"fqn": ["pinterest_source", "pinterest_ads", "keyword_report"], "database": "postgres", "schema": "pinterest_source_integration_tests", "unique_id": "source.pinterest_source.pinterest_ads.keyword_report", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "models/src_pinterest_ads.yml", "original_file_path": "models/src_pinterest_ads.yml", "name": "keyword_report", "source_name": "pinterest_ads", "source_description": "", "loader": "Fivetran", "identifier": "keyword_report_data", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 168, "period": "hour"}, "filter": null}, "external": null, "description": "Each record represents the daily performance of a Pinterest key word.", "columns": {"date": {"name": "date", "description": "The performance date of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "keyword_id": {"name": "keyword_id", "description": "Unique identifier of the keyword.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "pin_promotion_id": {"name": "pin_promotion_id", "description": "The ID of the related Pin promotion.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_id": {"name": "ad_group_id", "description": "The ID of the related Ad group.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_name": {"name": "ad_group_name", "description": "Name of the ad group.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_status": {"name": "ad_group_status", "description": "Status of the ad group.", "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": []}, "advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impression_1": {"name": "impression_1", "description": "The number of paid pin impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impression_2": {"name": "impression_2", "description": "The number of earned pin impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clickthrough_1": {"name": "clickthrough_1", "description": "The number of paid pin clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clickthrough_2": {"name": "clickthrough_2", "description": "The number of earned outbound clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend_in_micro_dollar": {"name": "spend_in_micro_dollar", "description": "The amount of spend in micro dollars that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"keyword_report_data\"", "created_at": 1658332384.956056}}, "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": 1658332384.1347651}, "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": 1658332384.135552}, "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": 1658332384.140897}, "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": 1658332384.141411}, "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": 1658332384.141759}, "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": 1658332384.142102}, "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": 1658332384.1426072}, "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": 1658332384.1430132}, "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": 1658332384.143189}, "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": 1658332384.1435351}, "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": 1658332384.1439328}, "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": 1658332384.14401}, "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": 1658332384.144199}, "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": 1658332384.144307}, "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": 1658332384.14527}, "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": 1658332384.145715}, "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": 1658332384.145943}, "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": 1658332384.146552}, "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": 1658332384.147398}, "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": 1658332384.1485162}, "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": 1658332384.148714}, "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": 1658332384.148853}, "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": 1658332384.148992}, "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": 1658332384.1491299}, "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": 1658332384.1495528}, "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": 1658332384.149858}, "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": 1658332384.150156}, "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": 1658332384.150663}, "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": 1658332384.150929}, "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": 1658332384.1541572}, "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": 1658332384.154332}, "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": 1658332384.154551}, "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": 1658332384.1546922}, "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": 1658332384.154785}, "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": 1658332384.1555789}, "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": 1658332384.155751}, "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": 1658332384.1559198}, "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": 1658332384.156914}, "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": 1658332384.158766}, "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": 1658332384.161862}, "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": 1658332384.162144}, "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": 1658332384.1623108}, "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": 1658332384.1623948}, "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": 1658332384.1625972}, "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": 1658332384.163466}, "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": 1658332384.163659}, "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": 1658332384.1639092}, "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": 1658332384.1643379}, "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": 1658332384.170159}, "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": 1658332384.1723342}, "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": 1658332384.1728919}, "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": 1658332384.1732118}, "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": 1658332384.1736598}, "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": 1658332384.174043}, "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": 1658332384.174912}, "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": 1658332384.1754618}, "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": 1658332384.176072}, "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": 1658332384.178794}, "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": 1658332384.1799319}, "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": 1658332384.180165}, "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": 1658332384.180583}, "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": 1658332384.180843}, "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": 1658332384.181473}, "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": 1658332384.182184}, "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": 1658332384.1870341}, "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": 1658332384.191672}, "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": 1658332384.192893}, "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": 1658332384.194091}, "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": 1658332384.1948109}, "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": 1658332384.198457}, "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": 1658332384.1989381}, "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": 1658332384.199127}, "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": 1658332384.199324}, "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": 1658332384.19973}, "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": 1658332384.203212}, "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": 1658332384.203569}, "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": 1658332384.203785}, "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": 1658332384.205012}, "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": 1658332384.20542}, "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": 1658332384.205581}, "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": 1658332384.205763}, "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": 1658332384.206018}, "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": 1658332384.208778}, "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": 1658332384.212611}, "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": 1658332384.213492}, "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": 1658332384.2137222}, "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": 1658332384.214199}, "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": 1658332384.2143402}, "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": 1658332384.214457}, "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": 1658332384.214614}, "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": 1658332384.214729}, "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": 1658332384.21521}, "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": 1658332384.2154539}, "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": 1658332384.216647}, "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": 1658332384.2171001}, "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": 1658332384.2173219}, "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": 1658332384.217886}, "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": 1658332384.218144}, "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": 1658332384.218424}, "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": 1658332384.21887}, "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": 1658332384.2191172}, "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": 1658332384.219519}, "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": 1658332384.219754}, "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": 1658332384.220056}, "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": 1658332384.220662}, "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": 1658332384.2217898}, "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": 1658332384.222357}, "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": 1658332384.222653}, "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": 1658332384.2243562}, "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": 1658332384.2256582}, "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": 1658332384.226419}, "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": 1658332384.2266612}, "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": 1658332384.227134}, "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": 1658332384.2273211}, "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": 1658332384.227489}, "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": 1658332384.227666}, "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": 1658332384.228182}, "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": 1658332384.2283158}, "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": 1658332384.22847}, "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": 1658332384.228865}, "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": 1658332384.230431}, "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": 1658332384.2307358}, "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": 1658332384.230921}, "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": 1658332384.2311308}, "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": 1658332384.231306}, "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": 1658332384.231463}, "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": 1658332384.2316658}, "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": 1658332384.23194}, "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": 1658332384.2321851}, "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": 1658332384.232875}, "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": 1658332384.233103}, "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": 1658332384.233292}, "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": 1658332384.233804}, "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": 1658332384.233946}, "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": 1658332384.2341702}, "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": 1658332384.234588}, "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": 1658332384.2352839}, "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": 1658332384.2354481}, "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": 1658332384.2356448}, "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": 1658332384.235805}, "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": 1658332384.2360692}, "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": 1658332384.236542}, "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": 1658332384.237931}, "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": 1658332384.238188}, "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": 1658332384.238372}, "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": 1658332384.238529}, "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": 1658332384.2387378}, "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": 1658332384.238992}, "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": 1658332384.239209}, "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": 1658332384.239664}, "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": 1658332384.239886}, "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": 1658332384.240061}, "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": 1658332384.241837}, "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": 1658332384.242002}, "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": 1658332384.242323}, "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": 1658332384.242511}, "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": 1658332384.242848}, "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": 1658332384.24308}, "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": 1658332384.2436962}, "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": 1658332384.243954}, "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": 1658332384.244763}, "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": 1658332384.245379}, "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": 1658332384.245609}, "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": 1658332384.245892}, "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": 1658332384.246173}, "macro.dbt_utils.except": {"unique_id": "macro.dbt_utils.except", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.246502}, "macro.dbt_utils.default__except": {"unique_id": "macro.dbt_utils.default__except", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.246578}, "macro.dbt_utils.bigquery__except": {"unique_id": "macro.dbt_utils.bigquery__except", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.246645}, "macro.dbt_utils.replace": {"unique_id": "macro.dbt_utils.replace", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.247061}, "macro.dbt_utils.default__replace": {"unique_id": "macro.dbt_utils.default__replace", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.247236}, "macro.dbt_utils.concat": {"unique_id": "macro.dbt_utils.concat", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.247551}, "macro.dbt_utils.default__concat": {"unique_id": "macro.dbt_utils.default__concat", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.247757}, "macro.dbt_utils.type_string": {"unique_id": "macro.dbt_utils.type_string", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.2484758}, "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/pinterest/dbt_pinterest_source/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": 1658332384.2485561}, "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/pinterest/dbt_pinterest_source/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": 1658332384.248632}, "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/pinterest/dbt_pinterest_source/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": 1658332384.248706}, "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/pinterest/dbt_pinterest_source/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": 1658332384.248776}, "macro.dbt_utils.type_timestamp": {"unique_id": "macro.dbt_utils.type_timestamp", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.248939}, "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/pinterest/dbt_pinterest_source/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": 1658332384.249012}, "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/pinterest/dbt_pinterest_source/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": 1658332384.249086}, "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/pinterest/dbt_pinterest_source/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": 1658332384.249155}, "macro.dbt_utils.type_float": {"unique_id": "macro.dbt_utils.type_float", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.24932}, "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/pinterest/dbt_pinterest_source/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": 1658332384.249391}, "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/pinterest/dbt_pinterest_source/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": 1658332384.24946}, "macro.dbt_utils.type_numeric": {"unique_id": "macro.dbt_utils.type_numeric", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.249621}, "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/pinterest/dbt_pinterest_source/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": 1658332384.249692}, "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/pinterest/dbt_pinterest_source/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": 1658332384.249762}, "macro.dbt_utils.type_bigint": {"unique_id": "macro.dbt_utils.type_bigint", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.249922}, "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/pinterest/dbt_pinterest_source/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": 1658332384.249994}, "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/pinterest/dbt_pinterest_source/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": 1658332384.25007}, "macro.dbt_utils.type_int": {"unique_id": "macro.dbt_utils.type_int", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.250289}, "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/pinterest/dbt_pinterest_source/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": 1658332384.2503629}, "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/pinterest/dbt_pinterest_source/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": 1658332384.250432}, "macro.dbt_utils._is_relation": {"unique_id": "macro.dbt_utils._is_relation", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.250966}, "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/pinterest/dbt_pinterest_source/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": 1658332384.251431}, "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/pinterest/dbt_pinterest_source/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": 1658332384.251576}, "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/pinterest/dbt_pinterest_source/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": 1658332384.251884}, "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/pinterest/dbt_pinterest_source/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": 1658332384.252023}, "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/pinterest/dbt_pinterest_source/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": 1658332384.252125}, "macro.dbt_utils.length": {"unique_id": "macro.dbt_utils.length", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.252515}, "macro.dbt_utils.default__length": {"unique_id": "macro.dbt_utils.default__length", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.252623}, "macro.dbt_utils.redshift__length": {"unique_id": "macro.dbt_utils.redshift__length", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.252725}, "macro.dbt_utils.dateadd": {"unique_id": "macro.dbt_utils.dateadd", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.253345}, "macro.dbt_utils.default__dateadd": {"unique_id": "macro.dbt_utils.default__dateadd", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.25351}, "macro.dbt_utils.bigquery__dateadd": {"unique_id": "macro.dbt_utils.bigquery__dateadd", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.253671}, "macro.dbt_utils.postgres__dateadd": {"unique_id": "macro.dbt_utils.postgres__dateadd", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.253833}, "macro.dbt_utils.redshift__dateadd": {"unique_id": "macro.dbt_utils.redshift__dateadd", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.254024}, "macro.dbt_utils.intersect": {"unique_id": "macro.dbt_utils.intersect", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.25436}, "macro.dbt_utils.default__intersect": {"unique_id": "macro.dbt_utils.default__intersect", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.254432}, "macro.dbt_utils.bigquery__intersect": {"unique_id": "macro.dbt_utils.bigquery__intersect", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.2545002}, "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/pinterest/dbt_pinterest_source/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": 1658332384.2548878}, "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/pinterest/dbt_pinterest_source/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": 1658332384.2550259}, "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/pinterest/dbt_pinterest_source/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": 1658332384.255232}, "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/pinterest/dbt_pinterest_source/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": 1658332384.2553642}, "macro.dbt_utils.right": {"unique_id": "macro.dbt_utils.right", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.255944}, "macro.dbt_utils.default__right": {"unique_id": "macro.dbt_utils.default__right", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.256074}, "macro.dbt_utils.bigquery__right": {"unique_id": "macro.dbt_utils.bigquery__right", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.256232}, "macro.dbt_utils.snowflake__right": {"unique_id": "macro.dbt_utils.snowflake__right", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.256384}, "macro.dbt_utils.listagg": {"unique_id": "macro.dbt_utils.listagg", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.258562}, "macro.dbt_utils.default__listagg": {"unique_id": "macro.dbt_utils.default__listagg", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.2589598}, "macro.dbt_utils.bigquery__listagg": {"unique_id": "macro.dbt_utils.bigquery__listagg", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.259232}, "macro.dbt_utils.postgres__listagg": {"unique_id": "macro.dbt_utils.postgres__listagg", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.259611}, "macro.dbt_utils.redshift__listagg": {"unique_id": "macro.dbt_utils.redshift__listagg", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.260542}, "macro.dbt_utils.datediff": {"unique_id": "macro.dbt_utils.datediff", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.263057}, "macro.dbt_utils.default__datediff": {"unique_id": "macro.dbt_utils.default__datediff", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.263236}, "macro.dbt_utils.bigquery__datediff": {"unique_id": "macro.dbt_utils.bigquery__datediff", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.2634041}, "macro.dbt_utils.postgres__datediff": {"unique_id": "macro.dbt_utils.postgres__datediff", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.2652721}, "macro.dbt_utils.redshift__datediff": {"unique_id": "macro.dbt_utils.redshift__datediff", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.265491}, "macro.dbt_utils.safe_cast": {"unique_id": "macro.dbt_utils.safe_cast", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.266017}, "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/pinterest/dbt_pinterest_source/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": 1658332384.26617}, "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/pinterest/dbt_pinterest_source/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": 1658332384.266301}, "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/pinterest/dbt_pinterest_source/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": 1658332384.266432}, "macro.dbt_utils.hash": {"unique_id": "macro.dbt_utils.hash", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.266811}, "macro.dbt_utils.default__hash": {"unique_id": "macro.dbt_utils.default__hash", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.2669508}, "macro.dbt_utils.bigquery__hash": {"unique_id": "macro.dbt_utils.bigquery__hash", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.2670841}, "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/pinterest/dbt_pinterest_source/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": 1658332384.267475}, "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/pinterest/dbt_pinterest_source/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": 1658332384.267752}, "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/pinterest/dbt_pinterest_source/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": 1658332384.267918}, "macro.dbt_utils.identifier": {"unique_id": "macro.dbt_utils.identifier", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.2685702}, "macro.dbt_utils.default__identifier": {"unique_id": "macro.dbt_utils.default__identifier", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.268681}, "macro.dbt_utils.bigquery__identifier": {"unique_id": "macro.dbt_utils.bigquery__identifier", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.268781}, "macro.dbt_utils.any_value": {"unique_id": "macro.dbt_utils.any_value", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.269172}, "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/pinterest/dbt_pinterest_source/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": 1658332384.269283}, "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/pinterest/dbt_pinterest_source/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": 1658332384.269394}, "macro.dbt_utils.position": {"unique_id": "macro.dbt_utils.position", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.269826}, "macro.dbt_utils.default__position": {"unique_id": "macro.dbt_utils.default__position", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.269969}, "macro.dbt_utils.bigquery__position": {"unique_id": "macro.dbt_utils.bigquery__position", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.270102}, "macro.dbt_utils.string_literal": {"unique_id": "macro.dbt_utils.string_literal", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.2704918}, "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/pinterest/dbt_pinterest_source/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": 1658332384.2705972}, "macro.dbt_utils.current_timestamp": {"unique_id": "macro.dbt_utils.current_timestamp", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.271175}, "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/pinterest/dbt_pinterest_source/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": 1658332384.271285}, "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/pinterest/dbt_pinterest_source/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": 1658332384.2713568}, "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/pinterest/dbt_pinterest_source/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": 1658332384.271424}, "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/pinterest/dbt_pinterest_source/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": 1658332384.271582}, "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/pinterest/dbt_pinterest_source/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": 1658332384.271689}, "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/pinterest/dbt_pinterest_source/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": 1658332384.2718332}, "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/pinterest/dbt_pinterest_source/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": 1658332384.271939}, "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/pinterest/dbt_pinterest_source/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": 1658332384.272067}, "macro.dbt_utils.width_bucket": {"unique_id": "macro.dbt_utils.width_bucket", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.2734752}, "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/pinterest/dbt_pinterest_source/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": 1658332384.2739332}, "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/pinterest/dbt_pinterest_source/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": 1658332384.2743921}, "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/pinterest/dbt_pinterest_source/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": 1658332384.27458}, "macro.dbt_utils.array_concat": {"unique_id": "macro.dbt_utils.array_concat", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.275022}, "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/pinterest/dbt_pinterest_source/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": 1658332384.275151}, "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/pinterest/dbt_pinterest_source/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": 1658332384.275274}, "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/pinterest/dbt_pinterest_source/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": 1658332384.275396}, "macro.dbt_utils.bool_or": {"unique_id": "macro.dbt_utils.bool_or", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.2757802}, "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/pinterest/dbt_pinterest_source/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": 1658332384.2758882}, "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/pinterest/dbt_pinterest_source/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": 1658332384.276049}, "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/pinterest/dbt_pinterest_source/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": 1658332384.276147}, "macro.dbt_utils.last_day": {"unique_id": "macro.dbt_utils.last_day", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.276741}, "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/pinterest/dbt_pinterest_source/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": 1658332384.277009}, "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/pinterest/dbt_pinterest_source/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": 1658332384.277157}, "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/pinterest/dbt_pinterest_source/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": 1658332384.277579}, "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/pinterest/dbt_pinterest_source/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": 1658332384.277868}, "macro.dbt_utils.split_part": {"unique_id": "macro.dbt_utils.split_part", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.2794628}, "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/pinterest/dbt_pinterest_source/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": 1658332384.2796428}, "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/pinterest/dbt_pinterest_source/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": 1658332384.27988}, "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/pinterest/dbt_pinterest_source/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": 1658332384.28024}, "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/pinterest/dbt_pinterest_source/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": 1658332384.280579}, "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/pinterest/dbt_pinterest_source/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": 1658332384.280939}, "macro.dbt_utils.date_trunc": {"unique_id": "macro.dbt_utils.date_trunc", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.281365}, "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/pinterest/dbt_pinterest_source/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": 1658332384.2815008}, "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/pinterest/dbt_pinterest_source/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": 1658332384.281628}, "macro.dbt_utils.array_construct": {"unique_id": "macro.dbt_utils.array_construct", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.282207}, "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/pinterest/dbt_pinterest_source/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": 1658332384.28245}, "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/pinterest/dbt_pinterest_source/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": 1658332384.282589}, "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/pinterest/dbt_pinterest_source/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": 1658332384.2827232}, "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/pinterest/dbt_pinterest_source/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": 1658332384.2828631}, "macro.dbt_utils._is_ephemeral": {"unique_id": "macro.dbt_utils._is_ephemeral", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.2839081}, "macro.dbt_utils.array_append": {"unique_id": "macro.dbt_utils.array_append", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.284338}, "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/pinterest/dbt_pinterest_source/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": 1658332384.28447}, "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/pinterest/dbt_pinterest_source/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": 1658332384.2846599}, "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/pinterest/dbt_pinterest_source/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": 1658332384.284846}, "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/pinterest/dbt_pinterest_source/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": 1658332384.290368}, "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/pinterest/dbt_pinterest_source/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": 1658332384.290891}, "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/pinterest/dbt_pinterest_source/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": 1658332384.2912152}, "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/pinterest/dbt_pinterest_source/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": 1658332384.291708}, "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/pinterest/dbt_pinterest_source/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": 1658332384.296906}, "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/pinterest/dbt_pinterest_source/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": 1658332384.297407}, "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/pinterest/dbt_pinterest_source/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": 1658332384.2979069}, "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/pinterest/dbt_pinterest_source/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": 1658332384.2984488}, "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/pinterest/dbt_pinterest_source/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": 1658332384.2991009}, "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/pinterest/dbt_pinterest_source/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": 1658332384.299482}, "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/pinterest/dbt_pinterest_source/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": 1658332384.299862}, "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/pinterest/dbt_pinterest_source/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": 1658332384.300548}, "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/pinterest/dbt_pinterest_source/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": 1658332384.3008041}, "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/pinterest/dbt_pinterest_source/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": 1658332384.3013551}, "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/pinterest/dbt_pinterest_source/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": 1658332384.301683}, "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/pinterest/dbt_pinterest_source/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": 1658332384.3024461}, "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/pinterest/dbt_pinterest_source/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": 1658332384.3028102}, "macro.dbt_utils.test_recency": {"unique_id": "macro.dbt_utils.test_recency", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.30334}, "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/pinterest/dbt_pinterest_source/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": 1658332384.303692}, "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/pinterest/dbt_pinterest_source/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": 1658332384.304103}, "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/pinterest/dbt_pinterest_source/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": 1658332384.304279}, "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/pinterest/dbt_pinterest_source/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": 1658332384.3049521}, "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/pinterest/dbt_pinterest_source/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": 1658332384.305501}, "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/pinterest/dbt_pinterest_source/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": 1658332384.3060968}, "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/pinterest/dbt_pinterest_source/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": 1658332384.3064709}, "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/pinterest/dbt_pinterest_source/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": 1658332384.3069499}, "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/pinterest/dbt_pinterest_source/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": 1658332384.307125}, "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/pinterest/dbt_pinterest_source/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": 1658332384.307529}, "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/pinterest/dbt_pinterest_source/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": 1658332384.307709}, "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/pinterest/dbt_pinterest_source/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": 1658332384.308363}, "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/pinterest/dbt_pinterest_source/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": 1658332384.308995}, "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/pinterest/dbt_pinterest_source/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": 1658332384.3096142}, "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/pinterest/dbt_pinterest_source/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": 1658332384.309973}, "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/pinterest/dbt_pinterest_source/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": 1658332384.310496}, "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/pinterest/dbt_pinterest_source/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": 1658332384.3107882}, "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/pinterest/dbt_pinterest_source/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": 1658332384.311261}, "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/pinterest/dbt_pinterest_source/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": 1658332384.3119009}, "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/pinterest/dbt_pinterest_source/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": 1658332384.312649}, "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/pinterest/dbt_pinterest_source/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": 1658332384.313503}, "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/pinterest/dbt_pinterest_source/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": 1658332384.313986}, "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/pinterest/dbt_pinterest_source/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": 1658332384.3141508}, "macro.dbt_utils.test_equality": {"unique_id": "macro.dbt_utils.test_equality", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.314934}, "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/pinterest/dbt_pinterest_source/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": 1658332384.315818}, "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/pinterest/dbt_pinterest_source/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": 1658332384.318797}, "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/pinterest/dbt_pinterest_source/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": 1658332384.32027}, "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/pinterest/dbt_pinterest_source/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": 1658332384.320603}, "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/pinterest/dbt_pinterest_source/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": 1658332384.320767}, "macro.dbt_utils.pretty_time": {"unique_id": "macro.dbt_utils.pretty_time", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.321099}, "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/pinterest/dbt_pinterest_source/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": 1658332384.321293}, "macro.dbt_utils.log_info": {"unique_id": "macro.dbt_utils.log_info", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.321768}, "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/pinterest/dbt_pinterest_source/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": 1658332384.322017}, "macro.dbt_utils.slugify": {"unique_id": "macro.dbt_utils.slugify", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.322759}, "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/pinterest/dbt_pinterest_source/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": 1658332384.32355}, "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/pinterest/dbt_pinterest_source/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": 1658332384.324194}, "macro.dbt_utils.date_spine": {"unique_id": "macro.dbt_utils.date_spine", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.3244328}, "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/pinterest/dbt_pinterest_source/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": 1658332384.324801}, "macro.dbt_utils.nullcheck_table": {"unique_id": "macro.dbt_utils.nullcheck_table", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.3252091}, "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/pinterest/dbt_pinterest_source/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": 1658332384.345376}, "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/pinterest/dbt_pinterest_source/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": 1658332384.3462698}, "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/pinterest/dbt_pinterest_source/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": 1658332384.3471549}, "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/pinterest/dbt_pinterest_source/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": 1658332384.348078}, "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/pinterest/dbt_pinterest_source/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": 1658332384.348512}, "macro.dbt_utils.generate_series": {"unique_id": "macro.dbt_utils.generate_series", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.3487082}, "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/pinterest/dbt_pinterest_source/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": 1658332384.349226}, "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/pinterest/dbt_pinterest_source/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": 1658332384.349996}, "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/pinterest/dbt_pinterest_source/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": 1658332384.350854}, "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/pinterest/dbt_pinterest_source/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": 1658332384.351344}, "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/pinterest/dbt_pinterest_source/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": 1658332384.3516212}, "macro.dbt_utils.star": {"unique_id": "macro.dbt_utils.star", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.352366}, "macro.dbt_utils.default__star": {"unique_id": "macro.dbt_utils.default__star", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.353417}, "macro.dbt_utils.unpivot": {"unique_id": "macro.dbt_utils.unpivot", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.355138}, "macro.dbt_utils.default__unpivot": {"unique_id": "macro.dbt_utils.default__unpivot", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.3571332}, "macro.dbt_utils.union_relations": {"unique_id": "macro.dbt_utils.union_relations", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.359644}, "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/pinterest/dbt_pinterest_source/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": 1658332384.3626509}, "macro.dbt_utils.group_by": {"unique_id": "macro.dbt_utils.group_by", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.3630269}, "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/pinterest/dbt_pinterest_source/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": 1658332384.3632782}, "macro.dbt_utils.deduplicate": {"unique_id": "macro.dbt_utils.deduplicate", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.365669}, "macro.dbt_utils.default__deduplicate": {"unique_id": "macro.dbt_utils.default__deduplicate", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.365887}, "macro.dbt_utils.redshift__deduplicate": {"unique_id": "macro.dbt_utils.redshift__deduplicate", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.366094}, "macro.dbt_utils.postgres__deduplicate": {"unique_id": "macro.dbt_utils.postgres__deduplicate", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.366279}, "macro.dbt_utils.snowflake__deduplicate": {"unique_id": "macro.dbt_utils.snowflake__deduplicate", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.366436}, "macro.dbt_utils.bigquery__deduplicate": {"unique_id": "macro.dbt_utils.bigquery__deduplicate", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.366603}, "macro.dbt_utils.surrogate_key": {"unique_id": "macro.dbt_utils.surrogate_key", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.367292}, "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/pinterest/dbt_pinterest_source/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": 1658332384.3683698}, "macro.dbt_utils.safe_add": {"unique_id": "macro.dbt_utils.safe_add", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.368945}, "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/pinterest/dbt_pinterest_source/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": 1658332384.36925}, "macro.dbt_utils.nullcheck": {"unique_id": "macro.dbt_utils.nullcheck", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.3697002}, "macro.dbt_utils.default__nullcheck": {"unique_id": "macro.dbt_utils.default__nullcheck", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.370058}, "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/pinterest/dbt_pinterest_source/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": 1658332384.3716722}, "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/pinterest/dbt_pinterest_source/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": 1658332384.371957}, "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/pinterest/dbt_pinterest_source/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": 1658332384.3727849}, "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/pinterest/dbt_pinterest_source/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": 1658332384.373317}, "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/pinterest/dbt_pinterest_source/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": 1658332384.374466}, "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/pinterest/dbt_pinterest_source/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": 1658332384.375998}, "macro.dbt_utils.pivot": {"unique_id": "macro.dbt_utils.pivot", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.377088}, "macro.dbt_utils.default__pivot": {"unique_id": "macro.dbt_utils.default__pivot", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.3779461}, "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/pinterest/dbt_pinterest_source/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": 1658332384.378509}, "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/pinterest/dbt_pinterest_source/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": 1658332384.379246}, "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/pinterest/dbt_pinterest_source/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": 1658332384.3797078}, "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/pinterest/dbt_pinterest_source/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": 1658332384.380312}, "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/pinterest/dbt_pinterest_source/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": 1658332384.3808389}, "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/pinterest/dbt_pinterest_source/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": 1658332384.380928}, "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/pinterest/dbt_pinterest_source/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": 1658332384.381017}, "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/pinterest/dbt_pinterest_source/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": 1658332384.3811011}, "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/pinterest/dbt_pinterest_source/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": 1658332384.382147}, "macro.dbt_utils.haversine_distance": {"unique_id": "macro.dbt_utils.haversine_distance", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.382433}, "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/pinterest/dbt_pinterest_source/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": 1658332384.3830101}, "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/pinterest/dbt_pinterest_source/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": 1658332384.3838851}, "macro.spark_utils.get_tables": {"unique_id": "macro.spark_utils.get_tables", "package_name": "spark_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.388681}, "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/pinterest/dbt_pinterest_source/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": 1658332384.389387}, "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/pinterest/dbt_pinterest_source/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": 1658332384.390275}, "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/pinterest/dbt_pinterest_source/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": 1658332384.391048}, "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/pinterest/dbt_pinterest_source/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": 1658332384.391807}, "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/pinterest/dbt_pinterest_source/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": 1658332384.3927429}, "macro.spark_utils.spark__concat": {"unique_id": "macro.spark_utils.spark__concat", "package_name": "spark_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.393}, "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/pinterest/dbt_pinterest_source/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": 1658332384.3931751}, "macro.spark_utils.spark__dateadd": {"unique_id": "macro.spark_utils.spark__dateadd", "package_name": "spark_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.395936}, "macro.spark_utils.spark__datediff": {"unique_id": "macro.spark_utils.spark__datediff", "package_name": "spark_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.403004}, "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/pinterest/dbt_pinterest_source/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": 1658332384.403224}, "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/pinterest/dbt_pinterest_source/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": 1658332384.4032981}, "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/pinterest/dbt_pinterest_source/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": 1658332384.40391}, "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/pinterest/dbt_pinterest_source/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": 1658332384.405489}, "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/pinterest/dbt_pinterest_source/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": 1658332384.405824}, "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/pinterest/dbt_pinterest_source/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": 1658332384.406104}, "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/pinterest/dbt_pinterest_source/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": 1658332384.406379}, "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/pinterest/dbt_pinterest_source/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": 1658332384.406763}, "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/pinterest/dbt_pinterest_source/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": 1658332384.406961}, "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/pinterest/dbt_pinterest_source/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": 1658332384.407228}, "macro.fivetran_utils.enabled_vars": {"unique_id": "macro.fivetran_utils.enabled_vars", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.407682}, "macro.fivetran_utils.percentile": {"unique_id": "macro.fivetran_utils.percentile", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.408607}, "macro.fivetran_utils.default__percentile": {"unique_id": "macro.fivetran_utils.default__percentile", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.4087749}, "macro.fivetran_utils.redshift__percentile": {"unique_id": "macro.fivetran_utils.redshift__percentile", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.4089348}, "macro.fivetran_utils.bigquery__percentile": {"unique_id": "macro.fivetran_utils.bigquery__percentile", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.4090939}, "macro.fivetran_utils.postgres__percentile": {"unique_id": "macro.fivetran_utils.postgres__percentile", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.409239}, "macro.fivetran_utils.spark__percentile": {"unique_id": "macro.fivetran_utils.spark__percentile", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.409396}, "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/pinterest/dbt_pinterest_source/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": 1658332384.4098911}, "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/pinterest/dbt_pinterest_source/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) %}\n\n{% if var(pass_through_variable, none) %}\n {% for field in var(pass_through_variable) %}\n , {{ 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": 1658332384.4104059}, "macro.fivetran_utils.json_parse": {"unique_id": "macro.fivetran_utils.json_parse", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.411455}, "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/pinterest/dbt_pinterest_source/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": 1658332384.4117}, "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/pinterest/dbt_pinterest_source/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": 1658332384.411941}, "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/pinterest/dbt_pinterest_source/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": 1658332384.412189}, "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/pinterest/dbt_pinterest_source/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": 1658332384.412427}, "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/pinterest/dbt_pinterest_source/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": 1658332384.412694}, "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/pinterest/dbt_pinterest_source/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": 1658332384.4129531}, "macro.fivetran_utils.max_bool": {"unique_id": "macro.fivetran_utils.max_bool", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.413335}, "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/pinterest/dbt_pinterest_source/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": 1658332384.413434}, "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/pinterest/dbt_pinterest_source/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": 1658332384.41353}, "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/pinterest/dbt_pinterest_source/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": 1658332384.41363}, "macro.fivetran_utils.calculated_fields": {"unique_id": "macro.fivetran_utils.calculated_fields", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.414065}, "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/pinterest/dbt_pinterest_source/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": 1658332384.414691}, "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/pinterest/dbt_pinterest_source/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": 1658332384.415353}, "macro.fivetran_utils.string_agg": {"unique_id": "macro.fivetran_utils.string_agg", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.4158678}, "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/pinterest/dbt_pinterest_source/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": 1658332384.4160461}, "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/pinterest/dbt_pinterest_source/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": 1658332384.416199}, "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/pinterest/dbt_pinterest_source/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": 1658332384.4163342}, "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/pinterest/dbt_pinterest_source/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": 1658332384.4164748}, "macro.fivetran_utils.timestamp_diff": {"unique_id": "macro.fivetran_utils.timestamp_diff", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.419301}, "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/pinterest/dbt_pinterest_source/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": 1658332384.419466}, "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/pinterest/dbt_pinterest_source/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": 1658332384.419623}, "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/pinterest/dbt_pinterest_source/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": 1658332384.4197812}, "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/pinterest/dbt_pinterest_source/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": 1658332384.42149}, "macro.fivetran_utils.try_cast": {"unique_id": "macro.fivetran_utils.try_cast", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.422376}, "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/pinterest/dbt_pinterest_source/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": 1658332384.422517}, "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/pinterest/dbt_pinterest_source/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": 1658332384.4227982}, "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/pinterest/dbt_pinterest_source/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": 1658332384.423083}, "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/pinterest/dbt_pinterest_source/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": 1658332384.4232152}, "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/pinterest/dbt_pinterest_source/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": 1658332384.423341}, "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/pinterest/dbt_pinterest_source/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": 1658332384.423465}, "macro.fivetran_utils.source_relation": {"unique_id": "macro.fivetran_utils.source_relation", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.424018}, "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/pinterest/dbt_pinterest_source/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": 1658332384.424591}, "macro.fivetran_utils.first_value": {"unique_id": "macro.fivetran_utils.first_value", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.425136}, "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/pinterest/dbt_pinterest_source/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": 1658332384.425341}, "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/pinterest/dbt_pinterest_source/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": 1658332384.425559}, "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/pinterest/dbt_pinterest_source/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": 1658332384.425895}, "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/pinterest/dbt_pinterest_source/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": 1658332384.426829}, "macro.fivetran_utils.union_relations": {"unique_id": "macro.fivetran_utils.union_relations", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.43069}, "macro.fivetran_utils.union_tables": {"unique_id": "macro.fivetran_utils.union_tables", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.431057}, "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/pinterest/dbt_pinterest_source/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": 1658332384.431516}, "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/pinterest/dbt_pinterest_source/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": 1658332384.433056}, "macro.fivetran_utils.quote_column": {"unique_id": "macro.fivetran_utils.quote_column", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.433603}, "macro.fivetran_utils.json_extract": {"unique_id": "macro.fivetran_utils.json_extract", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.434211}, "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/pinterest/dbt_pinterest_source/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": 1658332384.434361}, "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/pinterest/dbt_pinterest_source/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": 1658332384.4345129}, "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/pinterest/dbt_pinterest_source/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": 1658332384.4346812}, "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/pinterest/dbt_pinterest_source/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": 1658332384.4348311}, "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/pinterest/dbt_pinterest_source/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": 1658332384.434976}, "macro.fivetran_utils.collect_freshness": {"unique_id": "macro.fivetran_utils.collect_freshness", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.4356961}, "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/pinterest/dbt_pinterest_source/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": 1658332384.436678}, "macro.fivetran_utils.timestamp_add": {"unique_id": "macro.fivetran_utils.timestamp_add", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.437397}, "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/pinterest/dbt_pinterest_source/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": 1658332384.437556}, "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/pinterest/dbt_pinterest_source/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": 1658332384.4377222}, "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/pinterest/dbt_pinterest_source/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": 1658332384.437879}, "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/pinterest/dbt_pinterest_source/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": 1658332384.438041}, "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/pinterest/dbt_pinterest_source/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": 1658332384.4382122}, "macro.fivetran_utils.ceiling": {"unique_id": "macro.fivetran_utils.ceiling", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.438522}, "macro.fivetran_utils.default__ceiling": {"unique_id": "macro.fivetran_utils.default__ceiling", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.438684}, "macro.fivetran_utils.snowflake__ceiling": {"unique_id": "macro.fivetran_utils.snowflake__ceiling", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.438781}, "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/pinterest/dbt_pinterest_source/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": 1658332384.4394722}, "macro.fivetran_utils.union_data": {"unique_id": "macro.fivetran_utils.union_data", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.440682}, "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/pinterest/dbt_pinterest_source/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": 1658332384.44243}, "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/pinterest/dbt_pinterest_source/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": 1658332384.443873}, "macro.fivetran_utils.array_agg": {"unique_id": "macro.fivetran_utils.array_agg", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658332384.4442072}, "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/pinterest/dbt_pinterest_source/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": 1658332384.44431}, "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/pinterest/dbt_pinterest_source/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": 1658332384.4444082}, "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/pinterest/dbt_pinterest_source/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": 1658332384.444862}, "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/pinterest/dbt_pinterest_source/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": 1658332384.44532}, "macro.pinterest_source.get_ad_group_history_columns": {"unique_id": "macro.pinterest_source.get_ad_group_history_columns", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "macros/get_ad_group_history_columns.sql", "original_file_path": "macros/get_ad_group_history_columns.sql", "name": "get_ad_group_history_columns", "macro_sql": "{% macro get_ad_group_history_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"campaign_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"created_time\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"end_time\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"name\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"start_time\", \"datatype\": dbt_utils.type_timestamp()},\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_string"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1658332384.4463518}, "macro.pinterest_source.get_pin_promotion_history_columns": {"unique_id": "macro.pinterest_source.get_pin_promotion_history_columns", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "macros/get_pin_promotion_history_columns.sql", "original_file_path": "macros/get_pin_promotion_history_columns.sql", "name": "get_pin_promotion_history_columns", "macro_sql": "{% macro get_pin_promotion_history_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"ad_group_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"android_deep_link\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"click_tracking_url\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"created_time\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"creative_type\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"destination_url\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"ios_deep_link\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"is_pin_deleted\", \"datatype\": \"boolean\"},\n {\"name\": \"is_removable\", \"datatype\": \"boolean\"},\n {\"name\": \"name\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"pin_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"review_status\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"status\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"updated_time\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"view_tracking_url\", \"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_string"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1658332384.4483159}, "macro.pinterest_source.get_keyword_report_columns": {"unique_id": "macro.pinterest_source.get_keyword_report_columns", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "macros/get_keyword_report_columns.sql", "original_file_path": "macros/get_keyword_report_columns.sql", "name": "get_keyword_report_columns", "macro_sql": "{% macro get_keyword_report_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"ad_group_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"ad_group_name\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"ad_group_status\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"advertiser_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"campaign_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"clickthrough_1\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"clickthrough_2\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"date\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"impression_1\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"impression_2\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"keyword_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"pin_promotion_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"spend_in_micro_dollar\", \"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_string", "macro.dbt_utils.type_int"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1658332384.449953}, "macro.pinterest_source.get_pin_promotion_report_columns": {"unique_id": "macro.pinterest_source.get_pin_promotion_report_columns", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "macros/get_pin_promotion_report_columns.sql", "original_file_path": "macros/get_pin_promotion_report_columns.sql", "name": "get_pin_promotion_report_columns", "macro_sql": "{% macro get_pin_promotion_report_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"ad_group_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"advertiser_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"campaign_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"clickthrough_1\", \"datatype\": dbt_utils.type_numeric()},\n {\"name\": \"clickthrough_2\", \"datatype\": dbt_utils.type_numeric()},\n {\"name\": \"date\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"impression_1\", \"datatype\": dbt_utils.type_numeric()},\n {\"name\": \"impression_2\", \"datatype\": dbt_utils.type_numeric()},\n {\"name\": \"pin_promotion_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"spend_in_micro_dollar\", \"datatype\": dbt_utils.type_numeric()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.type_timestamp", "macro.dbt_utils.type_string", "macro.dbt_utils.type_numeric"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1658332384.451288}, "macro.pinterest_source.get_campaign_report_columns": {"unique_id": "macro.pinterest_source.get_campaign_report_columns", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "macros/get_campaign_report_columns.sql", "original_file_path": "macros/get_campaign_report_columns.sql", "name": "get_campaign_report_columns", "macro_sql": "{% macro get_campaign_report_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"advertiser_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"campaign_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"campaign_name\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"campaign_status\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"clickthrough_1\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"clickthrough_2\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"date\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"impression_1\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"impression_2\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"spend_in_micro_dollar\", \"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_string", "macro.dbt_utils.type_int"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1658332384.4526138}, "macro.pinterest_source.get_campaign_history_columns": {"unique_id": "macro.pinterest_source.get_campaign_history_columns", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_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\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"created_time\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"advertiser_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"name\", \"datatype\": dbt_utils.type_string()},\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_string"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1658332384.4534621}, "macro.pinterest_source.get_advertiser_history_columns": {"unique_id": "macro.pinterest_source.get_advertiser_history_columns", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "macros/get_advertiser_history_columns.sql", "original_file_path": "macros/get_advertiser_history_columns.sql", "name": "get_advertiser_history_columns", "macro_sql": "{% macro get_advertiser_history_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"billing_profile_status\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"billing_type\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"country\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"created_time\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"currency\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"merchant_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"name\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"owner_user_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"status\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"updated_time\", \"datatype\": dbt_utils.type_timestamp()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.type_timestamp", "macro.dbt_utils.type_string"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1658332384.4549499}, "macro.pinterest_source.get_ad_group_report_columns": {"unique_id": "macro.pinterest_source.get_ad_group_report_columns", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "macros/get_ad_group_report_columns.sql", "original_file_path": "macros/get_ad_group_report_columns.sql", "name": "get_ad_group_report_columns", "macro_sql": "{% macro get_ad_group_report_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"ad_group_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"ad_group_name\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"ad_group_status\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"advertiser_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"campaign_id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"clickthrough_1\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"clickthrough_2\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"date\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"impression_1\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"impression_2\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"spend_in_micro_dollar\", \"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_string", "macro.dbt_utils.type_int"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1658332384.456406}, "macro.pinterest_source.get_keyword_history_columns": {"unique_id": "macro.pinterest_source.get_keyword_history_columns", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "macros/get_keyword_history_columns.sql", "original_file_path": "macros/get_keyword_history_columns.sql", "name": "get_keyword_history_columns", "macro_sql": "{% macro get_keyword_history_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"ad_group_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"advertiser_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"archived\", \"datatype\": \"boolean\"},\n {\"name\": \"bid\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"campaign_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"match_type\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"parent_type\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"value\", \"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": 1658332384.457729}, "macro.pinterest_source.get_advertiser_report_columns": {"unique_id": "macro.pinterest_source.get_advertiser_report_columns", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "macros/get_advertiser_report_columns.sql", "original_file_path": "macros/get_advertiser_report_columns.sql", "name": "get_advertiser_report_columns", "macro_sql": "{% macro get_advertiser_report_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"advertiser_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"clickthrough_1\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"clickthrough_2\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"date\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"impression_1\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"impression_2\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"spend_in_micro_dollar\", \"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_string", "macro.dbt_utils.type_int"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1658332384.458768}}, "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"}, "pinterest_source._fivetran_synced": {"unique_id": "pinterest_source._fivetran_synced", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "_fivetran_synced", "block_contents": "Timestamp of when a record was last synced."}, "pinterest_source.is_most_recent_record": {"unique_id": "pinterest_source.is_most_recent_record", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "is_most_recent_record", "block_contents": "Boolean representing whether the record is the most recent version of the object."}, "pinterest_source.date_day": {"unique_id": "pinterest_source.date_day", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "date_day", "block_contents": "The performance date of the record."}, "pinterest_source.ad_group_id": {"unique_id": "pinterest_source.ad_group_id", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "ad_group_id", "block_contents": "The ID of the related Ad group."}, "pinterest_source.pin_promotion_id": {"unique_id": "pinterest_source.pin_promotion_id", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "pin_promotion_id", "block_contents": "The ID of the related Pin promotion."}, "pinterest_source.campaign_id": {"unique_id": "pinterest_source.campaign_id", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "campaign_id", "block_contents": "The ID of the related Campaign."}, "pinterest_source.advertiser_id": {"unique_id": "pinterest_source.advertiser_id", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "advertiser_id", "block_contents": "The ID of the related Advertiser."}, "pinterest_source.impressions": {"unique_id": "pinterest_source.impressions", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "impressions", "block_contents": "The number of paid and earned impressions that occurred on the day of the record."}, "pinterest_source.clicks": {"unique_id": "pinterest_source.clicks", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "clicks", "block_contents": "The number of paid and earned clicks that occurred on the day of the record."}, "pinterest_source.spend": {"unique_id": "pinterest_source.spend", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "spend", "block_contents": "The amount of spend that occurred on the day of the record."}, "pinterest_source.updated_at": {"unique_id": "pinterest_source.updated_at", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "updated_at", "block_contents": "Timestamp of when a record was last updated."}, "pinterest_source.created_at": {"unique_id": "pinterest_source.created_at", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "created_at", "block_contents": "Timestamp of when a record was created."}, "pinterest_source.spend_in_micro_dollar": {"unique_id": "pinterest_source.spend_in_micro_dollar", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "spend_in_micro_dollar", "block_contents": "The amount of spend in micro dollars that occurred on the day of the record."}, "pinterest_source.clickthrough_1": {"unique_id": "pinterest_source.clickthrough_1", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "clickthrough_1", "block_contents": "The number of paid pin clicks that occurred on the day of the record."}, "pinterest_source.clickthrough_2": {"unique_id": "pinterest_source.clickthrough_2", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "clickthrough_2", "block_contents": "The number of earned outbound clicks that occurred on the day of the record."}, "pinterest_source.impression_1": {"unique_id": "pinterest_source.impression_1", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "impression_1", "block_contents": "The number of paid pin impressions that occurred on the day of the record."}, "pinterest_source.impression_2": {"unique_id": "pinterest_source.impression_2", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "impression_2", "block_contents": "The number of earned pin impressions that occurred on the day of the record."}}, "exposures": {}, "metrics": {}, "selectors": {}, "disabled": {}, "parent_map": {"seed.pinterest_source_integration_tests.ad_group_report_data": [], "seed.pinterest_source_integration_tests.keyword_report_data": [], "seed.pinterest_source_integration_tests.pin_promotion_history_data": [], "seed.pinterest_source_integration_tests.advertiser_history_data": [], "seed.pinterest_source_integration_tests.advertiser_report_data": [], "seed.pinterest_source_integration_tests.ad_group_history_data": [], "seed.pinterest_source_integration_tests.campaign_history_data": [], "seed.pinterest_source_integration_tests.campaign_report_data": [], "seed.pinterest_source_integration_tests.keyword_history_data": [], "seed.pinterest_source_integration_tests.pin_promotion_report_data": [], "model.pinterest_source.stg_pinterest_ads__pin_promotion_history": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_history_tmp", "model.pinterest_source.stg_pinterest_ads__pin_promotion_history_tmp"], "model.pinterest_source.stg_pinterest_ads__keyword_report": ["model.pinterest_source.stg_pinterest_ads__keyword_report_tmp", "model.pinterest_source.stg_pinterest_ads__keyword_report_tmp"], "model.pinterest_source.stg_pinterest_ads__ad_group_report": ["model.pinterest_source.stg_pinterest_ads__ad_group_report_tmp", "model.pinterest_source.stg_pinterest_ads__ad_group_report_tmp"], "model.pinterest_source.stg_pinterest_ads__campaign_history": ["model.pinterest_source.stg_pinterest_ads__campaign_history_tmp", "model.pinterest_source.stg_pinterest_ads__campaign_history_tmp"], "model.pinterest_source.stg_pinterest_ads__advertiser_report": ["model.pinterest_source.stg_pinterest_ads__advertiser_report_tmp", "model.pinterest_source.stg_pinterest_ads__advertiser_report_tmp"], "model.pinterest_source.stg_pinterest_ads__advertiser_history": ["model.pinterest_source.stg_pinterest_ads__advertiser_history_tmp", "model.pinterest_source.stg_pinterest_ads__advertiser_history_tmp"], "model.pinterest_source.stg_pinterest_ads__campaign_report": ["model.pinterest_source.stg_pinterest_ads__campaign_report_tmp", "model.pinterest_source.stg_pinterest_ads__campaign_report_tmp"], "model.pinterest_source.stg_pinterest_ads__keyword_history": ["model.pinterest_source.stg_pinterest_ads__keyword_history_tmp", "model.pinterest_source.stg_pinterest_ads__keyword_history_tmp"], "model.pinterest_source.stg_pinterest_ads__pin_promotion_report": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_report_tmp", "model.pinterest_source.stg_pinterest_ads__pin_promotion_report_tmp"], "model.pinterest_source.stg_pinterest_ads__ad_group_history": ["model.pinterest_source.stg_pinterest_ads__ad_group_history_tmp", "model.pinterest_source.stg_pinterest_ads__ad_group_history_tmp"], "model.pinterest_source.stg_pinterest_ads__advertiser_history_tmp": ["source.pinterest_source.pinterest_ads.advertiser_history"], "model.pinterest_source.stg_pinterest_ads__pin_promotion_report_tmp": ["source.pinterest_source.pinterest_ads.pin_promotion_report"], "model.pinterest_source.stg_pinterest_ads__campaign_report_tmp": ["source.pinterest_source.pinterest_ads.campaign_report"], "model.pinterest_source.stg_pinterest_ads__advertiser_report_tmp": ["source.pinterest_source.pinterest_ads.advertiser_report"], "model.pinterest_source.stg_pinterest_ads__keyword_report_tmp": ["source.pinterest_source.pinterest_ads.keyword_report"], "model.pinterest_source.stg_pinterest_ads__ad_group_report_tmp": ["source.pinterest_source.pinterest_ads.ad_group_report"], "model.pinterest_source.stg_pinterest_ads__keyword_history_tmp": ["source.pinterest_source.pinterest_ads.keyword_history"], "model.pinterest_source.stg_pinterest_ads__campaign_history_tmp": ["source.pinterest_source.pinterest_ads.campaign_history"], "model.pinterest_source.stg_pinterest_ads__ad_group_history_tmp": ["source.pinterest_source.pinterest_ads.ad_group_history"], "model.pinterest_source.stg_pinterest_ads__pin_promotion_history_tmp": ["source.pinterest_source.pinterest_ads.pin_promotion_history"], "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_history_ad_group_id.220c6220be": ["model.pinterest_source.stg_pinterest_ads__ad_group_history"], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_history_ad_group_id___fivetran_synced.1132e1f339": ["model.pinterest_source.stg_pinterest_ads__ad_group_history"], "test.pinterest_source.not_null_stg_pinterest_ads__campaign_history_campaign_id.60cb10d341": ["model.pinterest_source.stg_pinterest_ads__campaign_history"], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_history_campaign_id___fivetran_synced.eff7196b87": ["model.pinterest_source.stg_pinterest_ads__campaign_history"], "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_history_pin_promotion_id.171995cd34": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_history"], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_history__fivetran_synced__pin_promotion_id.8e9ab31ea9": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_history"], "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_report_date_day.ed272212a1": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_report"], "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_report_pin_promotion_id.9c3c9f71ab": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_report"], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_report_date_day__pin_promotion_id__ad_group_id__campaign_id__advertiser_id.7ea04e6024": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_report"], "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_report_date_day.80e8904c4c": ["model.pinterest_source.stg_pinterest_ads__ad_group_report"], "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_report_ad_group_id.bb8cf3c471": ["model.pinterest_source.stg_pinterest_ads__ad_group_report"], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_report_date_day__ad_group_id__advertiser_id.692e15663e": ["model.pinterest_source.stg_pinterest_ads__ad_group_report"], "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_history_advertiser_id.7d24f665fb": ["model.pinterest_source.stg_pinterest_ads__advertiser_history"], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_history_updated_at__advertiser_id.94e8f4de4b": ["model.pinterest_source.stg_pinterest_ads__advertiser_history"], "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_report_date_day.153bd03c95": ["model.pinterest_source.stg_pinterest_ads__advertiser_report"], "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_report_advertiser_id.1b16ed73ff": ["model.pinterest_source.stg_pinterest_ads__advertiser_report"], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_report_date_day__advertiser_id.e92ce8a9c0": ["model.pinterest_source.stg_pinterest_ads__advertiser_report"], "test.pinterest_source.not_null_stg_pinterest_ads__campaign_report_date_day.7ef5fb1238": ["model.pinterest_source.stg_pinterest_ads__campaign_report"], "test.pinterest_source.not_null_stg_pinterest_ads__campaign_report_campaign_id.a287eba0fc": ["model.pinterest_source.stg_pinterest_ads__campaign_report"], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_report_date_day__campaign_id__advertiser_id.ff47cb8abc": ["model.pinterest_source.stg_pinterest_ads__campaign_report"], "test.pinterest_source.not_null_stg_pinterest_ads__keyword_history_keyword_id.246889377a": ["model.pinterest_source.stg_pinterest_ads__keyword_history"], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_history_keyword_id__ad_group_id___fivetran_synced.d122faa877": ["model.pinterest_source.stg_pinterest_ads__keyword_history"], "test.pinterest_source.not_null_stg_pinterest_ads__keyword_report_date_day.9937216300": ["model.pinterest_source.stg_pinterest_ads__keyword_report"], "test.pinterest_source.not_null_stg_pinterest_ads__keyword_report_keyword_id.5f00679c48": ["model.pinterest_source.stg_pinterest_ads__keyword_report"], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_report_date_day__keyword_id__ad_group_id__campaign_id__advertiser_id.3ac101cc13": ["model.pinterest_source.stg_pinterest_ads__keyword_report"], "source.pinterest_source.pinterest_ads.pin_promotion_report": [], "source.pinterest_source.pinterest_ads.pin_promotion_history": [], "source.pinterest_source.pinterest_ads.campaign_history": [], "source.pinterest_source.pinterest_ads.ad_group_history": [], "source.pinterest_source.pinterest_ads.ad_group_report": [], "source.pinterest_source.pinterest_ads.advertiser_history": [], "source.pinterest_source.pinterest_ads.advertiser_report": [], "source.pinterest_source.pinterest_ads.campaign_report": [], "source.pinterest_source.pinterest_ads.keyword_history": [], "source.pinterest_source.pinterest_ads.keyword_report": []}, "child_map": {"seed.pinterest_source_integration_tests.ad_group_report_data": [], "seed.pinterest_source_integration_tests.keyword_report_data": [], "seed.pinterest_source_integration_tests.pin_promotion_history_data": [], "seed.pinterest_source_integration_tests.advertiser_history_data": [], "seed.pinterest_source_integration_tests.advertiser_report_data": [], "seed.pinterest_source_integration_tests.ad_group_history_data": [], "seed.pinterest_source_integration_tests.campaign_history_data": [], "seed.pinterest_source_integration_tests.campaign_report_data": [], "seed.pinterest_source_integration_tests.keyword_history_data": [], "seed.pinterest_source_integration_tests.pin_promotion_report_data": [], "model.pinterest_source.stg_pinterest_ads__pin_promotion_history": ["test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_history__fivetran_synced__pin_promotion_id.8e9ab31ea9", "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_history_pin_promotion_id.171995cd34"], "model.pinterest_source.stg_pinterest_ads__keyword_report": ["test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_report_date_day__keyword_id__ad_group_id__campaign_id__advertiser_id.3ac101cc13", "test.pinterest_source.not_null_stg_pinterest_ads__keyword_report_date_day.9937216300", "test.pinterest_source.not_null_stg_pinterest_ads__keyword_report_keyword_id.5f00679c48"], "model.pinterest_source.stg_pinterest_ads__ad_group_report": ["test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_report_date_day__ad_group_id__advertiser_id.692e15663e", "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_report_ad_group_id.bb8cf3c471", "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_report_date_day.80e8904c4c"], "model.pinterest_source.stg_pinterest_ads__campaign_history": ["test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_history_campaign_id___fivetran_synced.eff7196b87", "test.pinterest_source.not_null_stg_pinterest_ads__campaign_history_campaign_id.60cb10d341"], "model.pinterest_source.stg_pinterest_ads__advertiser_report": ["test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_report_date_day__advertiser_id.e92ce8a9c0", "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_report_advertiser_id.1b16ed73ff", "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_report_date_day.153bd03c95"], "model.pinterest_source.stg_pinterest_ads__advertiser_history": ["test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_history_updated_at__advertiser_id.94e8f4de4b", "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_history_advertiser_id.7d24f665fb"], "model.pinterest_source.stg_pinterest_ads__campaign_report": ["test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_report_date_day__campaign_id__advertiser_id.ff47cb8abc", "test.pinterest_source.not_null_stg_pinterest_ads__campaign_report_campaign_id.a287eba0fc", "test.pinterest_source.not_null_stg_pinterest_ads__campaign_report_date_day.7ef5fb1238"], "model.pinterest_source.stg_pinterest_ads__keyword_history": ["test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_history_keyword_id__ad_group_id___fivetran_synced.d122faa877", "test.pinterest_source.not_null_stg_pinterest_ads__keyword_history_keyword_id.246889377a"], "model.pinterest_source.stg_pinterest_ads__pin_promotion_report": ["test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_report_date_day__pin_promotion_id__ad_group_id__campaign_id__advertiser_id.7ea04e6024", "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_report_date_day.ed272212a1", "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_report_pin_promotion_id.9c3c9f71ab"], "model.pinterest_source.stg_pinterest_ads__ad_group_history": ["test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_history_ad_group_id___fivetran_synced.1132e1f339", "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_history_ad_group_id.220c6220be"], "model.pinterest_source.stg_pinterest_ads__advertiser_history_tmp": ["model.pinterest_source.stg_pinterest_ads__advertiser_history", "model.pinterest_source.stg_pinterest_ads__advertiser_history"], "model.pinterest_source.stg_pinterest_ads__pin_promotion_report_tmp": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_report", "model.pinterest_source.stg_pinterest_ads__pin_promotion_report"], "model.pinterest_source.stg_pinterest_ads__campaign_report_tmp": ["model.pinterest_source.stg_pinterest_ads__campaign_report", "model.pinterest_source.stg_pinterest_ads__campaign_report"], "model.pinterest_source.stg_pinterest_ads__advertiser_report_tmp": ["model.pinterest_source.stg_pinterest_ads__advertiser_report", "model.pinterest_source.stg_pinterest_ads__advertiser_report"], "model.pinterest_source.stg_pinterest_ads__keyword_report_tmp": ["model.pinterest_source.stg_pinterest_ads__keyword_report", "model.pinterest_source.stg_pinterest_ads__keyword_report"], "model.pinterest_source.stg_pinterest_ads__ad_group_report_tmp": ["model.pinterest_source.stg_pinterest_ads__ad_group_report", "model.pinterest_source.stg_pinterest_ads__ad_group_report"], "model.pinterest_source.stg_pinterest_ads__keyword_history_tmp": ["model.pinterest_source.stg_pinterest_ads__keyword_history", "model.pinterest_source.stg_pinterest_ads__keyword_history"], "model.pinterest_source.stg_pinterest_ads__campaign_history_tmp": ["model.pinterest_source.stg_pinterest_ads__campaign_history", "model.pinterest_source.stg_pinterest_ads__campaign_history"], "model.pinterest_source.stg_pinterest_ads__ad_group_history_tmp": ["model.pinterest_source.stg_pinterest_ads__ad_group_history", "model.pinterest_source.stg_pinterest_ads__ad_group_history"], "model.pinterest_source.stg_pinterest_ads__pin_promotion_history_tmp": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_history", "model.pinterest_source.stg_pinterest_ads__pin_promotion_history"], "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_history_ad_group_id.220c6220be": [], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_history_ad_group_id___fivetran_synced.1132e1f339": [], "test.pinterest_source.not_null_stg_pinterest_ads__campaign_history_campaign_id.60cb10d341": [], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_history_campaign_id___fivetran_synced.eff7196b87": [], "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_history_pin_promotion_id.171995cd34": [], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_history__fivetran_synced__pin_promotion_id.8e9ab31ea9": [], "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_report_date_day.ed272212a1": [], "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_report_pin_promotion_id.9c3c9f71ab": [], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_report_date_day__pin_promotion_id__ad_group_id__campaign_id__advertiser_id.7ea04e6024": [], "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_report_date_day.80e8904c4c": [], "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_report_ad_group_id.bb8cf3c471": [], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_report_date_day__ad_group_id__advertiser_id.692e15663e": [], "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_history_advertiser_id.7d24f665fb": [], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_history_updated_at__advertiser_id.94e8f4de4b": [], "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_report_date_day.153bd03c95": [], "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_report_advertiser_id.1b16ed73ff": [], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_report_date_day__advertiser_id.e92ce8a9c0": [], "test.pinterest_source.not_null_stg_pinterest_ads__campaign_report_date_day.7ef5fb1238": [], "test.pinterest_source.not_null_stg_pinterest_ads__campaign_report_campaign_id.a287eba0fc": [], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_report_date_day__campaign_id__advertiser_id.ff47cb8abc": [], "test.pinterest_source.not_null_stg_pinterest_ads__keyword_history_keyword_id.246889377a": [], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_history_keyword_id__ad_group_id___fivetran_synced.d122faa877": [], "test.pinterest_source.not_null_stg_pinterest_ads__keyword_report_date_day.9937216300": [], "test.pinterest_source.not_null_stg_pinterest_ads__keyword_report_keyword_id.5f00679c48": [], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_report_date_day__keyword_id__ad_group_id__campaign_id__advertiser_id.3ac101cc13": [], "source.pinterest_source.pinterest_ads.pin_promotion_report": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_report_tmp"], "source.pinterest_source.pinterest_ads.pin_promotion_history": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_history_tmp"], "source.pinterest_source.pinterest_ads.campaign_history": ["model.pinterest_source.stg_pinterest_ads__campaign_history_tmp"], "source.pinterest_source.pinterest_ads.ad_group_history": ["model.pinterest_source.stg_pinterest_ads__ad_group_history_tmp"], "source.pinterest_source.pinterest_ads.ad_group_report": ["model.pinterest_source.stg_pinterest_ads__ad_group_report_tmp"], "source.pinterest_source.pinterest_ads.advertiser_history": ["model.pinterest_source.stg_pinterest_ads__advertiser_history_tmp"], "source.pinterest_source.pinterest_ads.advertiser_report": ["model.pinterest_source.stg_pinterest_ads__advertiser_report_tmp"], "source.pinterest_source.pinterest_ads.campaign_report": ["model.pinterest_source.stg_pinterest_ads__campaign_report_tmp"], "source.pinterest_source.pinterest_ads.keyword_history": ["model.pinterest_source.stg_pinterest_ads__keyword_history_tmp"], "source.pinterest_source.pinterest_ads.keyword_report": ["model.pinterest_source.stg_pinterest_ads__keyword_report_tmp"]}} \ No newline at end of file +{"metadata": {"dbt_schema_version": "https://schemas.getdbt.com/dbt/manifest/v4.json", "dbt_version": "1.0.4", "generated_at": "2022-07-20T19:21:01.736039Z", "invocation_id": "dbf490a2-d9ac-4389-8b4c-a7cae74fc906", "env": {}, "project_id": "0c5e93f26aaf82565f2c06106a3cb878", "user_id": "8929baf0-9bc1-477e-9a57-eb8b0db4da62", "send_anonymous_usage_stats": true, "adapter_type": "postgres"}, "nodes": {"seed.pinterest_source_integration_tests.ad_group_report_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", "campaign_id": "bigint", "ad_group_id": "bigint", "pin_id": "bigint", "advertiser_id": "bigint", "pin_promotion_id": "bigint", "keyword_id": "bigint"}, "full_refresh": null, "on_schema_change": "ignore", "quote_columns": true, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "pinterest_source_integration_tests", "fqn": ["pinterest_source_integration_tests", "ad_group_report_data"], "unique_id": "seed.pinterest_source_integration_tests.ad_group_report_data", "package_name": "pinterest_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests", "path": "ad_group_report_data.csv", "original_file_path": "seeds/ad_group_report_data.csv", "name": "ad_group_report_data", "alias": "ad_group_report_data", "checksum": {"name": "sha256", "checksum": "e97c0744fe3e48bcc4f9016c719b37f08e7cf5d2eed93805e0d54678df283662"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type in ('redshift','postgres') else false }}", "column_types": {"id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "ad_group_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "advertiser_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_promotion_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "keyword_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}"}}, "created_at": 1658344851.287362, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"ad_group_report_data\""}, "seed.pinterest_source_integration_tests.keyword_report_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", "campaign_id": "bigint", "ad_group_id": "bigint", "pin_id": "bigint", "advertiser_id": "bigint", "pin_promotion_id": "bigint", "keyword_id": "bigint"}, "full_refresh": null, "on_schema_change": "ignore", "quote_columns": true, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "pinterest_source_integration_tests", "fqn": ["pinterest_source_integration_tests", "keyword_report_data"], "unique_id": "seed.pinterest_source_integration_tests.keyword_report_data", "package_name": "pinterest_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests", "path": "keyword_report_data.csv", "original_file_path": "seeds/keyword_report_data.csv", "name": "keyword_report_data", "alias": "keyword_report_data", "checksum": {"name": "sha256", "checksum": "1035144a7494a5a018e6a87770e8ee67eb6b98f6e899865c1e7c4b1bfc4b6951"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type in ('redshift','postgres') else false }}", "column_types": {"id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "ad_group_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "advertiser_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_promotion_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "keyword_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}"}}, "created_at": 1658344851.293061, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"keyword_report_data\""}, "seed.pinterest_source_integration_tests.pin_promotion_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", "campaign_id": "bigint", "ad_group_id": "bigint", "pin_id": "bigint", "advertiser_id": "bigint", "pin_promotion_id": "bigint", "keyword_id": "bigint"}, "full_refresh": null, "on_schema_change": "ignore", "quote_columns": true, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "pinterest_source_integration_tests", "fqn": ["pinterest_source_integration_tests", "pin_promotion_history_data"], "unique_id": "seed.pinterest_source_integration_tests.pin_promotion_history_data", "package_name": "pinterest_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests", "path": "pin_promotion_history_data.csv", "original_file_path": "seeds/pin_promotion_history_data.csv", "name": "pin_promotion_history_data", "alias": "pin_promotion_history_data", "checksum": {"name": "sha256", "checksum": "6b7c5d891ccb02be0c1e126545984964eb4fa226a9d1ae9741ad76288497e338"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type in ('redshift','postgres') else false }}", "column_types": {"id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "ad_group_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "advertiser_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_promotion_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "keyword_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}"}}, "created_at": 1658344851.294063, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"pin_promotion_history_data\""}, "seed.pinterest_source_integration_tests.advertiser_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", "campaign_id": "bigint", "ad_group_id": "bigint", "pin_id": "bigint", "advertiser_id": "bigint", "pin_promotion_id": "bigint", "keyword_id": "bigint"}, "full_refresh": null, "on_schema_change": "ignore", "quote_columns": true, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "pinterest_source_integration_tests", "fqn": ["pinterest_source_integration_tests", "advertiser_history_data"], "unique_id": "seed.pinterest_source_integration_tests.advertiser_history_data", "package_name": "pinterest_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests", "path": "advertiser_history_data.csv", "original_file_path": "seeds/advertiser_history_data.csv", "name": "advertiser_history_data", "alias": "advertiser_history_data", "checksum": {"name": "sha256", "checksum": "a1efd698a39cc0a75b74b43b84d114eddf6eaac9d3dd7d2a06e704951c091fe4"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type in ('redshift','postgres') else false }}", "column_types": {"id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "ad_group_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "advertiser_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_promotion_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "keyword_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}"}}, "created_at": 1658344851.295007, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"advertiser_history_data\""}, "seed.pinterest_source_integration_tests.advertiser_report_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", "campaign_id": "bigint", "ad_group_id": "bigint", "pin_id": "bigint", "advertiser_id": "bigint", "pin_promotion_id": "bigint", "keyword_id": "bigint"}, "full_refresh": null, "on_schema_change": "ignore", "quote_columns": true, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "pinterest_source_integration_tests", "fqn": ["pinterest_source_integration_tests", "advertiser_report_data"], "unique_id": "seed.pinterest_source_integration_tests.advertiser_report_data", "package_name": "pinterest_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests", "path": "advertiser_report_data.csv", "original_file_path": "seeds/advertiser_report_data.csv", "name": "advertiser_report_data", "alias": "advertiser_report_data", "checksum": {"name": "sha256", "checksum": "1c259e5a0e32230a041a13947432b02764f30f9a7aa245893c63a386fb2ee60e"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type in ('redshift','postgres') else false }}", "column_types": {"id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "ad_group_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "advertiser_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_promotion_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "keyword_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}"}}, "created_at": 1658344851.296059, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"advertiser_report_data\""}, "seed.pinterest_source_integration_tests.ad_group_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", "campaign_id": "bigint", "ad_group_id": "bigint", "pin_id": "bigint", "advertiser_id": "bigint", "pin_promotion_id": "bigint", "keyword_id": "bigint"}, "full_refresh": null, "on_schema_change": "ignore", "quote_columns": true, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "pinterest_source_integration_tests", "fqn": ["pinterest_source_integration_tests", "ad_group_history_data"], "unique_id": "seed.pinterest_source_integration_tests.ad_group_history_data", "package_name": "pinterest_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests", "path": "ad_group_history_data.csv", "original_file_path": "seeds/ad_group_history_data.csv", "name": "ad_group_history_data", "alias": "ad_group_history_data", "checksum": {"name": "sha256", "checksum": "ff76dce5a5b57b38a03bfc295838b9f05e99e3e310066ac3fc96f7c78e3b6be8"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type in ('redshift','postgres') else false }}", "column_types": {"id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "ad_group_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "advertiser_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_promotion_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "keyword_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}"}}, "created_at": 1658344851.296996, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"ad_group_history_data\""}, "seed.pinterest_source_integration_tests.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", "campaign_id": "bigint", "ad_group_id": "bigint", "pin_id": "bigint", "advertiser_id": "bigint", "pin_promotion_id": "bigint", "keyword_id": "bigint"}, "full_refresh": null, "on_schema_change": "ignore", "quote_columns": true, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "pinterest_source_integration_tests", "fqn": ["pinterest_source_integration_tests", "campaign_history_data"], "unique_id": "seed.pinterest_source_integration_tests.campaign_history_data", "package_name": "pinterest_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests", "path": "campaign_history_data.csv", "original_file_path": "seeds/campaign_history_data.csv", "name": "campaign_history_data", "alias": "campaign_history_data", "checksum": {"name": "sha256", "checksum": "4c2ec13ff8548a5571e2de4601947d72d934669534584fa234099b3200564aab"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type in ('redshift','postgres') else false }}", "column_types": {"id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "ad_group_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "advertiser_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_promotion_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "keyword_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}"}}, "created_at": 1658344851.297929, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"campaign_history_data\""}, "seed.pinterest_source_integration_tests.campaign_report_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", "campaign_id": "bigint", "ad_group_id": "bigint", "pin_id": "bigint", "advertiser_id": "bigint", "pin_promotion_id": "bigint", "keyword_id": "bigint"}, "full_refresh": null, "on_schema_change": "ignore", "quote_columns": true, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "pinterest_source_integration_tests", "fqn": ["pinterest_source_integration_tests", "campaign_report_data"], "unique_id": "seed.pinterest_source_integration_tests.campaign_report_data", "package_name": "pinterest_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests", "path": "campaign_report_data.csv", "original_file_path": "seeds/campaign_report_data.csv", "name": "campaign_report_data", "alias": "campaign_report_data", "checksum": {"name": "sha256", "checksum": "b13c07bb0eabe3bb01f21e3a9ca46d6d549a7ae56668fd3c3bc69ba033586638"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type in ('redshift','postgres') else false }}", "column_types": {"id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "ad_group_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "advertiser_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_promotion_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "keyword_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}"}}, "created_at": 1658344851.2988591, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"campaign_report_data\""}, "seed.pinterest_source_integration_tests.keyword_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", "campaign_id": "bigint", "ad_group_id": "bigint", "pin_id": "bigint", "advertiser_id": "bigint", "pin_promotion_id": "bigint", "keyword_id": "bigint"}, "full_refresh": null, "on_schema_change": "ignore", "quote_columns": true, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "pinterest_source_integration_tests", "fqn": ["pinterest_source_integration_tests", "keyword_history_data"], "unique_id": "seed.pinterest_source_integration_tests.keyword_history_data", "package_name": "pinterest_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests", "path": "keyword_history_data.csv", "original_file_path": "seeds/keyword_history_data.csv", "name": "keyword_history_data", "alias": "keyword_history_data", "checksum": {"name": "sha256", "checksum": "589c187cfa8845b5851700d6e10128a158fe860a55a4f4de7f83b1e92226bc9e"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type in ('redshift','postgres') else false }}", "column_types": {"id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "ad_group_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "advertiser_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_promotion_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "keyword_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}"}}, "created_at": 1658344851.299912, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"keyword_history_data\""}, "seed.pinterest_source_integration_tests.pin_promotion_report_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", "campaign_id": "bigint", "ad_group_id": "bigint", "pin_id": "bigint", "advertiser_id": "bigint", "pin_promotion_id": "bigint", "keyword_id": "bigint"}, "full_refresh": null, "on_schema_change": "ignore", "quote_columns": true, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "pinterest_source_integration_tests", "fqn": ["pinterest_source_integration_tests", "pin_promotion_report_data"], "unique_id": "seed.pinterest_source_integration_tests.pin_promotion_report_data", "package_name": "pinterest_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests", "path": "pin_promotion_report_data.csv", "original_file_path": "seeds/pin_promotion_report_data.csv", "name": "pin_promotion_report_data", "alias": "pin_promotion_report_data", "checksum": {"name": "sha256", "checksum": "925cc6b85b3db0a72f4b6caba706aca609a276e4c71786a651c0294b2cd6ad35"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type in ('redshift','postgres') else false }}", "column_types": {"id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "ad_group_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "advertiser_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_promotion_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "keyword_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}"}}, "created_at": 1658344851.3008482, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"pin_promotion_report_data\""}, "model.pinterest_source.stg_pinterest_ads__pin_promotion_history": {"raw_sql": "with base as (\n\n select *\n from {{ ref('stg_pinterest_ads__pin_promotion_history_tmp') }}\n), \n\nfields as (\n\n select\n\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_pinterest_ads__pin_promotion_history_tmp')),\n staging_columns=get_pin_promotion_history_columns()\n )\n }}\n from base\n), \n\nfinal as (\n\n select\n id as pin_promotion_id,\n ad_group_id,\n created_time as created_at,\n destination_url,\n {{ dbt_utils.split_part('destination_url', \"'?'\", 1) }} as base_url,\n {{ dbt_utils.get_url_host('destination_url') }} as url_host,\n '/' || {{ dbt_utils.get_url_path('destination_url') }} as url_path,\n {{ dbt_utils.get_url_parameter('destination_url', 'utm_source') }} as utm_source,\n {{ dbt_utils.get_url_parameter('destination_url', 'utm_medium') }} as utm_medium,\n {{ dbt_utils.get_url_parameter('destination_url', 'utm_campaign') }} as utm_campaign,\n {{ dbt_utils.get_url_parameter('destination_url', 'utm_content') }} as utm_content,\n {{ dbt_utils.get_url_parameter('destination_url', 'utm_term') }} as utm_term,\n name as pin_name,\n pin_id,\n status as pin_status,\n creative_type,\n _fivetran_synced\n from fields\n), \n\nsurrogate_key as (\n\n select \n *,\n row_number() over (partition by pin_promotion_id order by _fivetran_synced desc) = 1 as is_most_recent_record\n from final\n)\n\nselect *\nfrom surrogate_key", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.pinterest_source.get_pin_promotion_history_columns", "macro.fivetran_utils.fill_staging_columns", "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.pinterest_source.stg_pinterest_ads__pin_promotion_history_tmp", "model.pinterest_source.stg_pinterest_ads__pin_promotion_history_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "stg_pinterest_ads__pin_promotion_history"], "unique_id": "model.pinterest_source.stg_pinterest_ads__pin_promotion_history", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "stg_pinterest_ads__pin_promotion_history.sql", "original_file_path": "models/stg_pinterest_ads__pin_promotion_history.sql", "name": "stg_pinterest_ads__pin_promotion_history", "alias": "stg_pinterest_ads__pin_promotion_history", "checksum": {"name": "sha256", "checksum": "e58d90c1bb7d29becd3d75c83d9739700ab06395c88512b82cb292411aa0b846"}, "tags": [], "refs": [["stg_pinterest_ads__pin_promotion_history_tmp"], ["stg_pinterest_ads__pin_promotion_history_tmp"]], "sources": [], "description": "Each record represents a version of a Pinterest Pin promotion.", "columns": {"pin_promotion_id": {"name": "pin_promotion_id", "description": "Pin promotion ID.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_id": {"name": "ad_group_id", "description": "Pin promotion ad group ID.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "created_at": {"name": "created_at", "description": "Pin creation time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "destination_url": {"name": "destination_url", "description": "Pin destination URL.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "pin_name": {"name": "pin_name", "description": "Pin promotion name.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "pin_id": {"name": "pin_id", "description": "Original pin ID.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "pin_status": {"name": "pin_status", "description": "The status of the Pin promotion. One of \"ACTIVE\", \"ARCHIVED\", \"PAUSED\"", "meta": {}, "data_type": null, "quote": null, "tags": []}, "creative_type": {"name": "creative_type", "description": "The creative type. \nOne of \"APP\", \"APP_VIDEO\", \"BOARD\", \"CAROUSEL\", \"CINEMATIC\", \"COMMERCE\", \"MAX_VIDEO\", \"NATIVE_VIDEO\", \"REGULAR\", \n\"SEARCH_PROMINENCE\", \"SEARCH_PROMINENCE_CAROUSEL\", \"SHOPPING\", \"SHOP_THE_PIN\", \"THIRD_PARTY\", or \"VIDEO\".\n", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "is_most_recent_record": {"name": "is_most_recent_record", "description": "Boolean representing whether the record is the most recent version of the object.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "base_url": {"name": "base_url", "description": "The base URL of the ad, extracted from the `destination_url`.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "url_host": {"name": "url_host", "description": "The URL host of the ad, extracted from the `destination_url`.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "url_path": {"name": "url_path", "description": "The URL path of the ad, extracted from the `destination_url`.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "utm_source": {"name": "utm_source", "description": "The utm_source parameter of the ad, extracted from the `destination_url`.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "utm_medium": {"name": "utm_medium", "description": "The utm_medium parameter of the ad, extracted from the `destination_url`.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "utm_campaign": {"name": "utm_campaign", "description": "The utm_campaign parameter of the ad, extracted from the `destination_url`.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "utm_content": {"name": "utm_content", "description": "The utm_content parameter of the ad, extracted from the `destination_url`.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "utm_term": {"name": "utm_term", "description": "The utm_term parameter of the ad, extracted from the `destination_url`.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "pinterest_source://models/stg_pinterest_ads.yml", "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads__pin_promotion_history.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "table"}, "created_at": 1658344851.4898088, "compiled_sql": "with base as (\n\n select *\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__pin_promotion_history_tmp\"\n), \n\nfields as (\n\n select\n\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n ad_group_id\n \n as \n \n ad_group_id\n \n, \n cast(null as \n varchar\n) as \n \n android_deep_link\n \n , \n cast(null as \n varchar\n) as \n \n click_tracking_url\n \n , \n \n \n created_time\n \n as \n \n created_time\n \n, \n \n \n creative_type\n \n as \n \n creative_type\n \n, \n \n \n destination_url\n \n as \n \n destination_url\n \n, \n \n \n id\n \n as \n \n id\n \n, \n cast(null as \n varchar\n) as \n \n ios_deep_link\n \n , \n cast(null as boolean) as \n \n is_pin_deleted\n \n , \n cast(null as boolean) as \n \n is_removable\n \n , \n \n \n name\n \n as \n \n name\n \n, \n \n \n pin_id\n \n as \n \n pin_id\n \n, \n cast(null as \n varchar\n) as \n \n review_status\n \n , \n \n \n status\n \n as \n \n status\n \n, \n cast(null as \n timestamp without time zone\n) as \n \n updated_time\n \n , \n cast(null as \n varchar\n) as \n \n view_tracking_url\n \n \n\n\n from base\n), \n\nfinal as (\n\n select\n id as pin_promotion_id,\n ad_group_id,\n created_time as created_at,\n destination_url,\n \n\n \n \n\n split_part(\n destination_url,\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 destination_url,\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 destination_url,\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 destination_url,\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 destination_url,\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 destination_url,\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 nullif(\n\n \n \n\n split_part(\n \n\n \n \n\n split_part(\n destination_url,\n 'utm_source=',\n 2\n )\n\n\n \n\n,\n '&',\n 1\n )\n\n\n \n\n,'') as utm_source,\n nullif(\n\n \n \n\n split_part(\n \n\n \n \n\n split_part(\n destination_url,\n 'utm_medium=',\n 2\n )\n\n\n \n\n,\n '&',\n 1\n )\n\n\n \n\n,'') as utm_medium,\n nullif(\n\n \n \n\n split_part(\n \n\n \n \n\n split_part(\n destination_url,\n 'utm_campaign=',\n 2\n )\n\n\n \n\n,\n '&',\n 1\n )\n\n\n \n\n,'') as utm_campaign,\n nullif(\n\n \n \n\n split_part(\n \n\n \n \n\n split_part(\n destination_url,\n 'utm_content=',\n 2\n )\n\n\n \n\n,\n '&',\n 1\n )\n\n\n \n\n,'') as utm_content,\n nullif(\n\n \n \n\n split_part(\n \n\n \n \n\n split_part(\n destination_url,\n 'utm_term=',\n 2\n )\n\n\n \n\n,\n '&',\n 1\n )\n\n\n \n\n,'') as utm_term,\n name as pin_name,\n pin_id,\n status as pin_status,\n creative_type,\n _fivetran_synced\n from fields\n), \n\nsurrogate_key as (\n\n select \n *,\n row_number() over (partition by pin_promotion_id order by _fivetran_synced desc) = 1 as is_most_recent_record\n from final\n)\n\nselect *\nfrom surrogate_key", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__pin_promotion_history\""}, "model.pinterest_source.stg_pinterest_ads__keyword_report": {"raw_sql": "with base as (\n\n select * \n from {{ ref('stg_pinterest_ads__keyword_report_tmp') }}\n),\n\nfields as (\n\n select\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_pinterest_ads__keyword_report_tmp')),\n staging_columns=get_keyword_report_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select\n date as date_day,\n keyword_id,\n pin_promotion_id,\n ad_group_id,\n ad_group_name,\n ad_group_status,\n campaign_id,\n advertiser_id,\n coalesce(impression_1,0) + coalesce(impression_2,0) as impressions,\n coalesce(clickthrough_1,0) + coalesce(clickthrough_2,0) as clicks,\n spend_in_micro_dollar / 1000000.0 as spend\n\n {% for metric in var('pinterest__keyword_report_passthrough_metrics',[]) %}\n , {{ metric }}\n {% endfor %}\n\n from fields\n)\n\nselect *\nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.pinterest_source.get_keyword_report_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.pinterest_source.stg_pinterest_ads__keyword_report_tmp", "model.pinterest_source.stg_pinterest_ads__keyword_report_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "stg_pinterest_ads__keyword_report"], "unique_id": "model.pinterest_source.stg_pinterest_ads__keyword_report", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "stg_pinterest_ads__keyword_report.sql", "original_file_path": "models/stg_pinterest_ads__keyword_report.sql", "name": "stg_pinterest_ads__keyword_report", "alias": "stg_pinterest_ads__keyword_report", "checksum": {"name": "sha256", "checksum": "c91ccdc933830f32cd39e88713145bb31847fc659a848c3f064cf6470954e10c"}, "tags": [], "refs": [["stg_pinterest_ads__keyword_report_tmp"], ["stg_pinterest_ads__keyword_report_tmp"]], "sources": [], "description": "Each record represents the daily performance of Keywords by ad group, campaign, and advertiser.", "columns": {"date_day": {"name": "date_day", "description": "The performance date of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "keyword_id": {"name": "keyword_id", "description": "Unique identifier of the keyword.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "pin_promotion_id": {"name": "pin_promotion_id", "description": "The ID of the related Pin promotion.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_id": {"name": "ad_group_id", "description": "The ID of the related Ad group.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_name": {"name": "ad_group_name", "description": "Name of the ad group.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_status": {"name": "ad_group_status", "description": "Status of the ad group.", "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": []}, "advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impressions": {"name": "impressions", "description": "The number of paid and earned impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clicks": {"name": "clicks", "description": "The number of paid and earned clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend": {"name": "spend", "description": "The amount of spend that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "pinterest_source://models/stg_pinterest_ads.yml", "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads__keyword_report.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "table"}, "created_at": 1658344851.5001678, "compiled_sql": "with base as (\n\n select * \n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__keyword_report_tmp\"\n),\n\nfields as (\n\n select\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n ad_group_id\n \n as \n \n ad_group_id\n \n, \n \n \n ad_group_name\n \n as \n \n ad_group_name\n \n, \n \n \n ad_group_status\n \n as \n \n ad_group_status\n \n, \n \n \n advertiser_id\n \n as \n \n advertiser_id\n \n, \n \n \n campaign_id\n \n as \n \n campaign_id\n \n, \n \n \n clickthrough_1\n \n as \n \n clickthrough_1\n \n, \n cast(null as \n int\n) as \n \n clickthrough_2\n \n , \n \n \n date\n \n as \n \n date\n \n, \n \n \n impression_1\n \n as \n \n impression_1\n \n, \n cast(null as \n int\n) as \n \n impression_2\n \n , \n \n \n keyword_id\n \n as \n \n keyword_id\n \n, \n \n \n pin_promotion_id\n \n as \n \n pin_promotion_id\n \n, \n \n \n spend_in_micro_dollar\n \n as \n \n spend_in_micro_dollar\n \n\n\n\n from base\n),\n\nfinal as (\n \n select\n date as date_day,\n keyword_id,\n pin_promotion_id,\n ad_group_id,\n ad_group_name,\n ad_group_status,\n campaign_id,\n advertiser_id,\n coalesce(impression_1,0) + coalesce(impression_2,0) as impressions,\n coalesce(clickthrough_1,0) + coalesce(clickthrough_2,0) as clicks,\n spend_in_micro_dollar / 1000000.0 as spend\n\n \n\n from fields\n)\n\nselect *\nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__keyword_report\""}, "model.pinterest_source.stg_pinterest_ads__ad_group_report": {"raw_sql": "with base as (\n\n select * \n from {{ ref('stg_pinterest_ads__ad_group_report_tmp') }}\n),\n\nfields as (\n\n select\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_pinterest_ads__ad_group_report_tmp')),\n staging_columns=get_ad_group_report_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select \n date as date_day,\n ad_group_id,\n ad_group_name,\n ad_group_status,\n campaign_id,\n advertiser_id,\n coalesce(impression_1,0) + coalesce(impression_2,0) as impressions,\n coalesce(clickthrough_1,0) + coalesce(clickthrough_2,0) as clicks,\n spend_in_micro_dollar / 1000000.0 as spend\n\n {% for metric in var('pinterest__ad_group_report_passthrough_metrics',[]) %}\n , {{ metric }}\n {% endfor %}\n\n from fields\n)\n\nselect *\nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.pinterest_source.get_ad_group_report_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.pinterest_source.stg_pinterest_ads__ad_group_report_tmp", "model.pinterest_source.stg_pinterest_ads__ad_group_report_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "stg_pinterest_ads__ad_group_report"], "unique_id": "model.pinterest_source.stg_pinterest_ads__ad_group_report", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "stg_pinterest_ads__ad_group_report.sql", "original_file_path": "models/stg_pinterest_ads__ad_group_report.sql", "name": "stg_pinterest_ads__ad_group_report", "alias": "stg_pinterest_ads__ad_group_report", "checksum": {"name": "sha256", "checksum": "831a620b53cd2228cfb4d7f5bdd9ad85631972d6049b263d3e15234d84ae3e18"}, "tags": [], "refs": [["stg_pinterest_ads__ad_group_report_tmp"], ["stg_pinterest_ads__ad_group_report_tmp"]], "sources": [], "description": "Each record represents the daily performance of a Pinterest Ad Groups by campaign and advertiser.", "columns": {"date_day": {"name": "date_day", "description": "The performance date of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_id": {"name": "ad_group_id", "description": "The ID of the related Ad group.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_name": {"name": "ad_group_name", "description": "Name of the ad group.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_status": {"name": "ad_group_status", "description": "Status of the ad group.", "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": []}, "advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impressions": {"name": "impressions", "description": "The number of paid and earned impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clicks": {"name": "clicks", "description": "The number of paid and earned clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend": {"name": "spend", "description": "The amount of spend that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "pinterest_source://models/stg_pinterest_ads.yml", "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads__ad_group_report.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "table"}, "created_at": 1658344851.4926, "compiled_sql": "with base as (\n\n select * \n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__ad_group_report_tmp\"\n),\n\nfields as (\n\n select\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n ad_group_id\n \n as \n \n ad_group_id\n \n, \n \n \n ad_group_name\n \n as \n \n ad_group_name\n \n, \n \n \n ad_group_status\n \n as \n \n ad_group_status\n \n, \n \n \n advertiser_id\n \n as \n \n advertiser_id\n \n, \n \n \n campaign_id\n \n as \n \n campaign_id\n \n, \n \n \n clickthrough_1\n \n as \n \n clickthrough_1\n \n, \n cast(null as \n int\n) as \n \n clickthrough_2\n \n , \n \n \n date\n \n as \n \n date\n \n, \n \n \n impression_1\n \n as \n \n impression_1\n \n, \n cast(null as \n int\n) as \n \n impression_2\n \n , \n \n \n spend_in_micro_dollar\n \n as \n \n spend_in_micro_dollar\n \n\n\n\n from base\n),\n\nfinal as (\n \n select \n date as date_day,\n ad_group_id,\n ad_group_name,\n ad_group_status,\n campaign_id,\n advertiser_id,\n coalesce(impression_1,0) + coalesce(impression_2,0) as impressions,\n coalesce(clickthrough_1,0) + coalesce(clickthrough_2,0) as clicks,\n spend_in_micro_dollar / 1000000.0 as spend\n\n \n\n from fields\n)\n\nselect *\nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__ad_group_report\""}, "model.pinterest_source.stg_pinterest_ads__campaign_history": {"raw_sql": "with base as (\n\n select *\n from {{ ref('stg_pinterest_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_pinterest_ads__campaign_history_tmp')),\n staging_columns=get_campaign_history_columns()\n )\n }}\n from base\n), \n\nfinal as (\n\n select \n id as campaign_id,\n name as campaign_name,\n advertiser_id,\n status as campaign_status,\n _fivetran_synced,\n created_time as created_at\n from fields\n),\n\nmost_recent as (\n select \n *,\n row_number() over (partition by campaign_id order by _fivetran_synced desc) = 1 as is_most_recent_record\n from final\n)\n\nselect *\nfrom most_recent", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.pinterest_source.get_campaign_history_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.pinterest_source.stg_pinterest_ads__campaign_history_tmp", "model.pinterest_source.stg_pinterest_ads__campaign_history_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "stg_pinterest_ads__campaign_history"], "unique_id": "model.pinterest_source.stg_pinterest_ads__campaign_history", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "stg_pinterest_ads__campaign_history.sql", "original_file_path": "models/stg_pinterest_ads__campaign_history.sql", "name": "stg_pinterest_ads__campaign_history", "alias": "stg_pinterest_ads__campaign_history", "checksum": {"name": "sha256", "checksum": "dc5acb7c99056c415b7b7819b6054f15750b165179f7e55ab21afb705088b6eb"}, "tags": [], "refs": [["stg_pinterest_ads__campaign_history_tmp"], ["stg_pinterest_ads__campaign_history_tmp"]], "sources": [], "description": "Each record represents a version of a Pinterest Campaign.", "columns": {"campaign_id": {"name": "campaign_id", "description": "The ID of the related Campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "created_at": {"name": "created_at", "description": "Campaign creation time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_name": {"name": "campaign_name", "description": "Campaign name.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_status": {"name": "campaign_status", "description": "The status of the Campaign. One of \"ACTIVE\", \"ARCHIVED\", \"PAUSED\"", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "is_most_recent_record": {"name": "is_most_recent_record", "description": "Boolean representing whether the record is the most recent version of the object.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "pinterest_source://models/stg_pinterest_ads.yml", "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads__campaign_history.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "table"}, "created_at": 1658344851.487159, "compiled_sql": "with base as (\n\n select *\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__campaign_history_tmp\"\n), \n\nfields as (\n\n select\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n created_time\n \n as \n \n created_time\n \n, \n \n \n id\n \n as \n \n id\n \n, \n \n \n advertiser_id\n \n as \n \n advertiser_id\n \n, \n \n \n name\n \n as \n \n name\n \n, \n \n \n status\n \n as \n \n status\n \n\n\n\n from base\n), \n\nfinal as (\n\n select \n id as campaign_id,\n name as campaign_name,\n advertiser_id,\n status as campaign_status,\n _fivetran_synced,\n created_time as created_at\n from fields\n),\n\nmost_recent as (\n select \n *,\n row_number() over (partition by campaign_id order by _fivetran_synced desc) = 1 as is_most_recent_record\n from final\n)\n\nselect *\nfrom most_recent", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__campaign_history\""}, "model.pinterest_source.stg_pinterest_ads__advertiser_report": {"raw_sql": "with base as (\n\n select * \n from {{ ref('stg_pinterest_ads__advertiser_report_tmp') }}\n),\n\nfields as (\n\n select\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_pinterest_ads__advertiser_report_tmp')),\n staging_columns=get_advertiser_report_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select \n date as date_day,\n advertiser_id,\n coalesce(impression_1,0) + coalesce(impression_2,0) as impressions,\n coalesce(clickthrough_1,0) + coalesce(clickthrough_2,0) as clicks,\n spend_in_micro_dollar / 1000000.0 as spend\n\n {% for metric in var('pinterest__advertiser_report_passthrough_metrics',[]) %}\n , {{ metric }}\n {% endfor %}\n\n from fields\n)\n\nselect *\nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.pinterest_source.get_advertiser_report_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.pinterest_source.stg_pinterest_ads__advertiser_report_tmp", "model.pinterest_source.stg_pinterest_ads__advertiser_report_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "stg_pinterest_ads__advertiser_report"], "unique_id": "model.pinterest_source.stg_pinterest_ads__advertiser_report", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "stg_pinterest_ads__advertiser_report.sql", "original_file_path": "models/stg_pinterest_ads__advertiser_report.sql", "name": "stg_pinterest_ads__advertiser_report", "alias": "stg_pinterest_ads__advertiser_report", "checksum": {"name": "sha256", "checksum": "03f1b3e5345e9e8b873f1c6e2b5d3b59148ec9df51694167a83bb69c1859e010"}, "tags": [], "refs": [["stg_pinterest_ads__advertiser_report_tmp"], ["stg_pinterest_ads__advertiser_report_tmp"]], "sources": [], "description": "Each record represents the daily performance of an Advertiser.", "columns": {"date_day": {"name": "date_day", "description": "The performance date of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impressions": {"name": "impressions", "description": "The number of paid and earned impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clicks": {"name": "clicks", "description": "The number of paid and earned clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend": {"name": "spend", "description": "The amount of spend that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "pinterest_source://models/stg_pinterest_ads.yml", "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads__advertiser_report.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "table"}, "created_at": 1658344851.49534, "compiled_sql": "with base as (\n\n select * \n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__advertiser_report_tmp\"\n),\n\nfields as (\n\n select\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n advertiser_id\n \n as \n \n advertiser_id\n \n, \n \n \n clickthrough_1\n \n as \n \n clickthrough_1\n \n, \n cast(null as \n int\n) as \n \n clickthrough_2\n \n , \n \n \n date\n \n as \n \n date\n \n, \n \n \n impression_1\n \n as \n \n impression_1\n \n, \n cast(null as \n int\n) as \n \n impression_2\n \n , \n \n \n spend_in_micro_dollar\n \n as \n \n spend_in_micro_dollar\n \n\n\n\n from base\n),\n\nfinal as (\n \n select \n date as date_day,\n advertiser_id,\n coalesce(impression_1,0) + coalesce(impression_2,0) as impressions,\n coalesce(clickthrough_1,0) + coalesce(clickthrough_2,0) as clicks,\n spend_in_micro_dollar / 1000000.0 as spend\n\n \n\n from fields\n)\n\nselect *\nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__advertiser_report\""}, "model.pinterest_source.stg_pinterest_ads__advertiser_history": {"raw_sql": "with base as (\n\n select * \n from {{ ref('stg_pinterest_ads__advertiser_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_pinterest_ads__advertiser_history_tmp')),\n staging_columns=get_advertiser_history_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select \n id as advertiser_id,\n name as advertiser_name,\n status as advertiser_status,\n billing_profile_status,\n billing_type,\n country,\n created_time as created_at,\n currency as currency_code,\n merchant_id,\n owner_user_id,\n updated_time as updated_at\n from fields\n),\n\nmost_recent as (\n select\n *,\n row_number() over (partition by advertiser_id order by updated_at desc) = 1 as is_most_recent_record\n from final\n\n)\n\nselect *\nfrom most_recent", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.pinterest_source.get_advertiser_history_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.pinterest_source.stg_pinterest_ads__advertiser_history_tmp", "model.pinterest_source.stg_pinterest_ads__advertiser_history_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "stg_pinterest_ads__advertiser_history"], "unique_id": "model.pinterest_source.stg_pinterest_ads__advertiser_history", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "stg_pinterest_ads__advertiser_history.sql", "original_file_path": "models/stg_pinterest_ads__advertiser_history.sql", "name": "stg_pinterest_ads__advertiser_history", "alias": "stg_pinterest_ads__advertiser_history", "checksum": {"name": "sha256", "checksum": "a735cb6bffb3302d2717a3133bb5e1989c3b174bd15b94631e4f62d67d2bc71e"}, "tags": [], "refs": [["stg_pinterest_ads__advertiser_history_tmp"], ["stg_pinterest_ads__advertiser_history_tmp"]], "sources": [], "description": "Each record represents a version of an advertiser.", "columns": {"advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "advertiser_name": {"name": "advertiser_name", "description": "Name of the advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "advertiser_status": {"name": "advertiser_status", "description": "Status of the advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "billing_profile_status": {"name": "billing_profile_status", "description": "Status of the billing profile.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "billing_type": {"name": "billing_type", "description": "The billing type of the advertiser. Will typically be CREDIT_CARD or INVOICE.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "country": {"name": "country", "description": "The country code where the advertiser is located.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "created_at": {"name": "created_at", "description": "Timestamp of when a record was created.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "currency_code": {"name": "currency_code", "description": "The currency code which the advertiser is set up using.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "merchant_id": {"name": "merchant_id", "description": "Unique ID of the merchant associated with the advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "owner_user_id": {"name": "owner_user_id", "description": "Unique identifier of the owner user.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "updated_at": {"name": "updated_at", "description": "Timestamp of when a record was last updated.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "is_most_recent_record": {"name": "is_most_recent_record", "description": "Boolean representing whether the record is the most recent version of the object.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "pinterest_source://models/stg_pinterest_ads.yml", "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads__advertiser_history.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "table"}, "created_at": 1658344851.494364, "compiled_sql": "with base as (\n\n select * \n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__advertiser_history_tmp\"\n),\n\nfields as (\n\n select\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n billing_profile_status\n \n as \n \n billing_profile_status\n \n, \n \n \n billing_type\n \n as \n \n billing_type\n \n, \n \n \n country\n \n as \n \n country\n \n, \n \n \n created_time\n \n as \n \n created_time\n \n, \n \n \n currency\n \n as \n \n currency\n \n, \n \n \n id\n \n as \n \n id\n \n, \n \n \n merchant_id\n \n as \n \n merchant_id\n \n, \n \n \n name\n \n as \n \n name\n \n, \n \n \n owner_user_id\n \n as \n \n owner_user_id\n \n, \n \n \n status\n \n as \n \n status\n \n, \n \n \n updated_time\n \n as \n \n updated_time\n \n\n\n\n from base\n),\n\nfinal as (\n \n select \n id as advertiser_id,\n name as advertiser_name,\n status as advertiser_status,\n billing_profile_status,\n billing_type,\n country,\n created_time as created_at,\n currency as currency_code,\n merchant_id,\n owner_user_id,\n updated_time as updated_at\n from fields\n),\n\nmost_recent as (\n select\n *,\n row_number() over (partition by advertiser_id order by updated_at desc) = 1 as is_most_recent_record\n from final\n\n)\n\nselect *\nfrom most_recent", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__advertiser_history\""}, "model.pinterest_source.stg_pinterest_ads__campaign_report": {"raw_sql": "with base as (\n\n select * \n from {{ ref('stg_pinterest_ads__campaign_report_tmp') }}\n),\n\nfields as (\n\n select\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_pinterest_ads__campaign_report_tmp')),\n staging_columns=get_campaign_report_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select \n date as date_day,\n campaign_id,\n campaign_name,\n campaign_status,\n advertiser_id,\n coalesce(impression_1,0) + coalesce(impression_2,0) as impressions,\n coalesce(clickthrough_1,0) + coalesce(clickthrough_2,0) as clicks,\n spend_in_micro_dollar / 1000000.0 as spend\n\n {% for metric in var('pinterest__campaign_report_passthrough_metrics',[]) %}\n , {{ metric }}\n {% endfor %}\n\n from fields\n)\n\nselect *\nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.pinterest_source.get_campaign_report_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.pinterest_source.stg_pinterest_ads__campaign_report_tmp", "model.pinterest_source.stg_pinterest_ads__campaign_report_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "stg_pinterest_ads__campaign_report"], "unique_id": "model.pinterest_source.stg_pinterest_ads__campaign_report", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "stg_pinterest_ads__campaign_report.sql", "original_file_path": "models/stg_pinterest_ads__campaign_report.sql", "name": "stg_pinterest_ads__campaign_report", "alias": "stg_pinterest_ads__campaign_report", "checksum": {"name": "sha256", "checksum": "6951407d8fc8c1e72020f1da5c8d36a746f7d5d4f9c20ed5592b75dec402d725"}, "tags": [], "refs": [["stg_pinterest_ads__campaign_report_tmp"], ["stg_pinterest_ads__campaign_report_tmp"]], "sources": [], "description": "Each record represents the daily performance of Campaigns by advertiser.", "columns": {"date_day": {"name": "date_day", "description": "The performance date of the record.", "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": "Name of the campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_status": {"name": "campaign_status", "description": "Status of the campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impressions": {"name": "impressions", "description": "The number of paid and earned impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clicks": {"name": "clicks", "description": "The number of paid and earned clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend": {"name": "spend", "description": "The amount of spend that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "pinterest_source://models/stg_pinterest_ads.yml", "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads__campaign_report.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "table"}, "created_at": 1658344851.496602, "compiled_sql": "with base as (\n\n select * \n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__campaign_report_tmp\"\n),\n\nfields as (\n\n select\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n advertiser_id\n \n as \n \n advertiser_id\n \n, \n \n \n campaign_id\n \n as \n \n campaign_id\n \n, \n \n \n campaign_name\n \n as \n \n campaign_name\n \n, \n \n \n campaign_status\n \n as \n \n campaign_status\n \n, \n \n \n clickthrough_1\n \n as \n \n clickthrough_1\n \n, \n cast(null as \n int\n) as \n \n clickthrough_2\n \n , \n \n \n date\n \n as \n \n date\n \n, \n \n \n impression_1\n \n as \n \n impression_1\n \n, \n cast(null as \n int\n) as \n \n impression_2\n \n , \n \n \n spend_in_micro_dollar\n \n as \n \n spend_in_micro_dollar\n \n\n\n\n from base\n),\n\nfinal as (\n \n select \n date as date_day,\n campaign_id,\n campaign_name,\n campaign_status,\n advertiser_id,\n coalesce(impression_1,0) + coalesce(impression_2,0) as impressions,\n coalesce(clickthrough_1,0) + coalesce(clickthrough_2,0) as clicks,\n spend_in_micro_dollar / 1000000.0 as spend\n\n \n\n from fields\n)\n\nselect *\nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__campaign_report\""}, "model.pinterest_source.stg_pinterest_ads__keyword_history": {"raw_sql": "with base as (\n\n select * \n from {{ ref('stg_pinterest_ads__keyword_history_tmp') }}\n),\n\nfields as (\n\n select\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_pinterest_ads__keyword_history_tmp')),\n staging_columns=get_keyword_history_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select\n id as keyword_id,\n value as keyword_value,\n _fivetran_id,\n _fivetran_synced,\n ad_group_id,\n advertiser_id,\n archived,\n bid,\n campaign_id,\n match_type,\n parent_type\n from fields\n),\n\nmost_recent as (\n select\n *,\n row_number() over (partition by keyword_id order by _fivetran_synced desc) = 1 as is_most_recent_record\n from final\n)\n\nselect *\nfrom most_recent", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.pinterest_source.get_keyword_history_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.pinterest_source.stg_pinterest_ads__keyword_history_tmp", "model.pinterest_source.stg_pinterest_ads__keyword_history_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "stg_pinterest_ads__keyword_history"], "unique_id": "model.pinterest_source.stg_pinterest_ads__keyword_history", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "stg_pinterest_ads__keyword_history.sql", "original_file_path": "models/stg_pinterest_ads__keyword_history.sql", "name": "stg_pinterest_ads__keyword_history", "alias": "stg_pinterest_ads__keyword_history", "checksum": {"name": "sha256", "checksum": "699cd5961a1e73f18759bc85f569a503a381173579b2aa02bc27e1e8ae33fefd"}, "tags": [], "refs": [["stg_pinterest_ads__keyword_history_tmp"], ["stg_pinterest_ads__keyword_history_tmp"]], "sources": [], "description": "Each record represents the daily performance of a Keyword.", "columns": {"keyword_id": {"name": "keyword_id", "description": "Unique identifier of the keyword.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "keyword_value": {"name": "keyword_value", "description": "The text value that makes upd the keyword.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_id": {"name": "_fivetran_id", "description": "The unique identifier of the record within the Fivetran synced table.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_id": {"name": "ad_group_id", "description": "The ID of the related Ad group.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "archived": {"name": "archived", "description": "Boolean indicating if the keyword is archived.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "bid": {"name": "bid", "description": "Bid amount set for the keyword.", "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": []}, "match_type": {"name": "match_type", "description": "Type of match the keyword is tied to. Either Exact or Broad.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "parent_type": {"name": "parent_type", "description": "Identifier of what grain the parent type is. Ad group or campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "is_most_recent_record": {"name": "is_most_recent_record", "description": "Boolean representing whether the record is the most recent version of the object.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "pinterest_source://models/stg_pinterest_ads.yml", "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads__keyword_history.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "table"}, "created_at": 1658344851.498431, "compiled_sql": "with base as (\n\n select * \n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__keyword_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 ad_group_id\n \n as \n \n ad_group_id\n \n, \n \n \n advertiser_id\n \n as \n \n advertiser_id\n \n, \n \n \n archived\n \n as \n \n archived\n \n, \n \n \n bid\n \n as \n \n bid\n \n, \n \n \n campaign_id\n \n as \n \n campaign_id\n \n, \n \n \n id\n \n as \n \n id\n \n, \n \n \n match_type\n \n as \n \n match_type\n \n, \n \n \n parent_type\n \n as \n \n parent_type\n \n, \n \n \n value\n \n as \n \n value\n \n\n\n\n from base\n),\n\nfinal as (\n \n select\n id as keyword_id,\n value as keyword_value,\n _fivetran_id,\n _fivetran_synced,\n ad_group_id,\n advertiser_id,\n archived,\n bid,\n campaign_id,\n match_type,\n parent_type\n from fields\n),\n\nmost_recent as (\n select\n *,\n row_number() over (partition by keyword_id order by _fivetran_synced desc) = 1 as is_most_recent_record\n from final\n)\n\nselect *\nfrom most_recent", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__keyword_history\""}, "model.pinterest_source.stg_pinterest_ads__pin_promotion_report": {"raw_sql": "with base as (\n\n select *\n from {{ ref('stg_pinterest_ads__pin_promotion_report_tmp') }}\n), \n\nfields as (\n\n select\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_pinterest_ads__pin_promotion_report_tmp')),\n staging_columns=get_pin_promotion_report_columns()\n )\n }}\n from base\n), \n\nfinal as (\n\n select \n date as date_day,\n pin_promotion_id,\n ad_group_id,\n campaign_id,\n advertiser_id,\n coalesce(impression_1,0) + coalesce(impression_2,0) as impressions,\n coalesce(clickthrough_1,0) + coalesce(clickthrough_2,0) as clicks,\n spend_in_micro_dollar / 1000000.0 as spend\n\n {% for metric in var('pinterest__pin_promotion_report_passthrough_metrics',[]) %}\n , {{ metric }}\n {% endfor %}\n\n from fields\n)\n\nselect *\nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.pinterest_source.get_pin_promotion_report_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_report_tmp", "model.pinterest_source.stg_pinterest_ads__pin_promotion_report_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "stg_pinterest_ads__pin_promotion_report"], "unique_id": "model.pinterest_source.stg_pinterest_ads__pin_promotion_report", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "stg_pinterest_ads__pin_promotion_report.sql", "original_file_path": "models/stg_pinterest_ads__pin_promotion_report.sql", "name": "stg_pinterest_ads__pin_promotion_report", "alias": "stg_pinterest_ads__pin_promotion_report", "checksum": {"name": "sha256", "checksum": "64a1d7976df9e9ee2f030affc190a3ca54469f80497c95b7d636abf3065c602a"}, "tags": [], "refs": [["stg_pinterest_ads__pin_promotion_report_tmp"], ["stg_pinterest_ads__pin_promotion_report_tmp"]], "sources": [], "description": "Each record represents the daily performance of a Pinterest Pin promotion by ad group, campaign, and advertiser.", "columns": {"date_day": {"name": "date_day", "description": "The performance date of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "pin_promotion_id": {"name": "pin_promotion_id", "description": "The ID of the related Pin promotion.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_id": {"name": "ad_group_id", "description": "The ID of the related Ad group.", "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": []}, "advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impressions": {"name": "impressions", "description": "The number of paid and earned impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clicks": {"name": "clicks", "description": "The number of paid and earned clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend": {"name": "spend", "description": "The amount of spend that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "pinterest_source://models/stg_pinterest_ads.yml", "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads__pin_promotion_report.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "table"}, "created_at": 1658344851.4911082, "compiled_sql": "with base as (\n\n select *\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__pin_promotion_report_tmp\"\n), \n\nfields as (\n\n select\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n ad_group_id\n \n as \n \n ad_group_id\n \n, \n \n \n advertiser_id\n \n as \n \n advertiser_id\n \n, \n \n \n campaign_id\n \n as \n \n campaign_id\n \n, \n \n \n clickthrough_1\n \n as \n \n clickthrough_1\n \n, \n \n \n clickthrough_2\n \n as \n \n clickthrough_2\n \n, \n \n \n date\n \n as \n \n date\n \n, \n \n \n impression_1\n \n as \n \n impression_1\n \n, \n \n \n impression_2\n \n as \n \n impression_2\n \n, \n \n \n pin_promotion_id\n \n as \n \n pin_promotion_id\n \n, \n \n \n spend_in_micro_dollar\n \n as \n \n spend_in_micro_dollar\n \n\n\n\n from base\n), \n\nfinal as (\n\n select \n date as date_day,\n pin_promotion_id,\n ad_group_id,\n campaign_id,\n advertiser_id,\n coalesce(impression_1,0) + coalesce(impression_2,0) as impressions,\n coalesce(clickthrough_1,0) + coalesce(clickthrough_2,0) as clicks,\n spend_in_micro_dollar / 1000000.0 as spend\n\n \n\n from fields\n)\n\nselect *\nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__pin_promotion_report\""}, "model.pinterest_source.stg_pinterest_ads__ad_group_history": {"raw_sql": "with base as (\n\n select *\n from {{ ref('stg_pinterest_ads__ad_group_history_tmp') }}\n), \n\nfields as (\n\n select\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_pinterest_ads__ad_group_history_tmp')),\n staging_columns=get_ad_group_history_columns()\n )\n }}\n from base\n), \n\nfinal as (\n\n select \n id as ad_group_id,\n name as ad_group_name,\n status as ad_group_status,\n _fivetran_synced,\n campaign_id,\n created_time as created_at,\n end_time,\n start_time\n from fields\n),\n\nmost_recent as (\n select\n *,\n row_number() over (partition by ad_group_id order by _fivetran_synced desc) = 1 as is_most_recent_record\n from final\n)\n\nselect *\nfrom most_recent", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.pinterest_source.get_ad_group_history_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.pinterest_source.stg_pinterest_ads__ad_group_history_tmp", "model.pinterest_source.stg_pinterest_ads__ad_group_history_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "stg_pinterest_ads__ad_group_history"], "unique_id": "model.pinterest_source.stg_pinterest_ads__ad_group_history", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "stg_pinterest_ads__ad_group_history.sql", "original_file_path": "models/stg_pinterest_ads__ad_group_history.sql", "name": "stg_pinterest_ads__ad_group_history", "alias": "stg_pinterest_ads__ad_group_history", "checksum": {"name": "sha256", "checksum": "c84e7a8de947ba3bc3101e41f3ce4686265dc854469da158e839759dc2844303"}, "tags": [], "refs": [["stg_pinterest_ads__ad_group_history_tmp"], ["stg_pinterest_ads__ad_group_history_tmp"]], "sources": [], "description": "Each record represents a version of a Pinterest Ad Group.", "columns": {"ad_group_id": {"name": "ad_group_id", "description": "Ad group ID.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_id": {"name": "campaign_id", "description": "Parent Campaign ID.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "created_at": {"name": "created_at", "description": "Ad group creation time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_name": {"name": "ad_group_name", "description": "Ad group name.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_status": {"name": "ad_group_status", "description": "The status of the Ad group. One of \"ACTIVE\", \"ARCHIVED\", \"PAUSED\"", "meta": {}, "data_type": null, "quote": null, "tags": []}, "start_time": {"name": "start_time", "description": "Ad group start time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "end_time": {"name": "end_time", "description": "Ad group end time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "is_most_recent_record": {"name": "is_most_recent_record", "description": "Boolean representing whether the record is the most recent version of the object.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "pinterest_source://models/stg_pinterest_ads.yml", "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads__ad_group_history.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "table"}, "created_at": 1658344851.485945, "compiled_sql": "with base as (\n\n select *\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__ad_group_history_tmp\"\n), \n\nfields as (\n\n select\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n campaign_id\n \n as \n \n campaign_id\n \n, \n \n \n created_time\n \n as \n \n created_time\n \n, \n \n \n end_time\n \n as \n \n end_time\n \n, \n \n \n id\n \n as \n \n id\n \n, \n \n \n name\n \n as \n \n name\n \n, \n \n \n start_time\n \n as \n \n start_time\n \n, \n \n \n status\n \n as \n \n status\n \n\n\n\n from base\n), \n\nfinal as (\n\n select \n id as ad_group_id,\n name as ad_group_name,\n status as ad_group_status,\n _fivetran_synced,\n campaign_id,\n created_time as created_at,\n end_time,\n start_time\n from fields\n),\n\nmost_recent as (\n select\n *,\n row_number() over (partition by ad_group_id order by _fivetran_synced desc) = 1 as is_most_recent_record\n from final\n)\n\nselect *\nfrom most_recent", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__ad_group_history\""}, "model.pinterest_source.stg_pinterest_ads__advertiser_history_tmp": {"raw_sql": "select * \nfrom {{ var('advertiser_history') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.pinterest_source.pinterest_ads.advertiser_history"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "tmp", "stg_pinterest_ads__advertiser_history_tmp"], "unique_id": "model.pinterest_source.stg_pinterest_ads__advertiser_history_tmp", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "tmp/stg_pinterest_ads__advertiser_history_tmp.sql", "original_file_path": "models/tmp/stg_pinterest_ads__advertiser_history_tmp.sql", "name": "stg_pinterest_ads__advertiser_history_tmp", "alias": "stg_pinterest_ads__advertiser_history_tmp", "checksum": {"name": "sha256", "checksum": "60dc1039a40b4fd101ac71b52584219ef441b8f3231fab7270a1725731849343"}, "tags": [], "refs": [], "sources": [["pinterest_ads", "advertiser_history"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/tmp/stg_pinterest_ads__advertiser_history_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "view"}, "created_at": 1658344851.4267268, "compiled_sql": "select * \nfrom \"postgres\".\"pinterest_source_integration_tests\".\"advertiser_history_data\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__advertiser_history_tmp\""}, "model.pinterest_source.stg_pinterest_ads__pin_promotion_report_tmp": {"raw_sql": "select *\nfrom {{ var('pin_promotion_report') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.pinterest_source.pinterest_ads.pin_promotion_report"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "tmp", "stg_pinterest_ads__pin_promotion_report_tmp"], "unique_id": "model.pinterest_source.stg_pinterest_ads__pin_promotion_report_tmp", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "tmp/stg_pinterest_ads__pin_promotion_report_tmp.sql", "original_file_path": "models/tmp/stg_pinterest_ads__pin_promotion_report_tmp.sql", "name": "stg_pinterest_ads__pin_promotion_report_tmp", "alias": "stg_pinterest_ads__pin_promotion_report_tmp", "checksum": {"name": "sha256", "checksum": "18cfa5bd72f823f350eb4fd5f5400957cc628d66510236ca582e0186f4ed24f4"}, "tags": [], "refs": [], "sources": [["pinterest_ads", "pin_promotion_report"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/tmp/stg_pinterest_ads__pin_promotion_report_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "view"}, "created_at": 1658344851.432091, "compiled_sql": "select *\nfrom \"postgres\".\"pinterest_source_integration_tests\".\"pin_promotion_report_data\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__pin_promotion_report_tmp\""}, "model.pinterest_source.stg_pinterest_ads__campaign_report_tmp": {"raw_sql": "select * \nfrom {{ var('campaign_report') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.pinterest_source.pinterest_ads.campaign_report"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "tmp", "stg_pinterest_ads__campaign_report_tmp"], "unique_id": "model.pinterest_source.stg_pinterest_ads__campaign_report_tmp", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "tmp/stg_pinterest_ads__campaign_report_tmp.sql", "original_file_path": "models/tmp/stg_pinterest_ads__campaign_report_tmp.sql", "name": "stg_pinterest_ads__campaign_report_tmp", "alias": "stg_pinterest_ads__campaign_report_tmp", "checksum": {"name": "sha256", "checksum": "5f611ed15f119a95ac9ba29f2463d1924782790c0678cfca4fd0f25aab4d4296"}, "tags": [], "refs": [], "sources": [["pinterest_ads", "campaign_report"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/tmp/stg_pinterest_ads__campaign_report_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "view"}, "created_at": 1658344851.4353201, "compiled_sql": "select * \nfrom \"postgres\".\"pinterest_source_integration_tests\".\"campaign_report_data\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__campaign_report_tmp\""}, "model.pinterest_source.stg_pinterest_ads__advertiser_report_tmp": {"raw_sql": "select * \nfrom {{ var('advertiser_report') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.pinterest_source.pinterest_ads.advertiser_report"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "tmp", "stg_pinterest_ads__advertiser_report_tmp"], "unique_id": "model.pinterest_source.stg_pinterest_ads__advertiser_report_tmp", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "tmp/stg_pinterest_ads__advertiser_report_tmp.sql", "original_file_path": "models/tmp/stg_pinterest_ads__advertiser_report_tmp.sql", "name": "stg_pinterest_ads__advertiser_report_tmp", "alias": "stg_pinterest_ads__advertiser_report_tmp", "checksum": {"name": "sha256", "checksum": "68f4f29d7cc41371c11bca9e1ac615df584965bb7be78dda187252b1893b6a17"}, "tags": [], "refs": [], "sources": [["pinterest_ads", "advertiser_report"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/tmp/stg_pinterest_ads__advertiser_report_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "view"}, "created_at": 1658344851.4379158, "compiled_sql": "select * \nfrom \"postgres\".\"pinterest_source_integration_tests\".\"advertiser_report_data\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__advertiser_report_tmp\""}, "model.pinterest_source.stg_pinterest_ads__keyword_report_tmp": {"raw_sql": "select * \nfrom {{ var('keyword_report') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.pinterest_source.pinterest_ads.keyword_report"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "tmp", "stg_pinterest_ads__keyword_report_tmp"], "unique_id": "model.pinterest_source.stg_pinterest_ads__keyword_report_tmp", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "tmp/stg_pinterest_ads__keyword_report_tmp.sql", "original_file_path": "models/tmp/stg_pinterest_ads__keyword_report_tmp.sql", "name": "stg_pinterest_ads__keyword_report_tmp", "alias": "stg_pinterest_ads__keyword_report_tmp", "checksum": {"name": "sha256", "checksum": "180a05437502b97ae4654b06e70dee2f2324b4b80815c2be214cdc9cfcb4a99d"}, "tags": [], "refs": [], "sources": [["pinterest_ads", "keyword_report"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/tmp/stg_pinterest_ads__keyword_report_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "view"}, "created_at": 1658344851.440959, "compiled_sql": "select * \nfrom \"postgres\".\"pinterest_source_integration_tests\".\"keyword_report_data\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__keyword_report_tmp\""}, "model.pinterest_source.stg_pinterest_ads__ad_group_report_tmp": {"raw_sql": "select * \nfrom {{ var('ad_group_report') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.pinterest_source.pinterest_ads.ad_group_report"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "tmp", "stg_pinterest_ads__ad_group_report_tmp"], "unique_id": "model.pinterest_source.stg_pinterest_ads__ad_group_report_tmp", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "tmp/stg_pinterest_ads__ad_group_report_tmp.sql", "original_file_path": "models/tmp/stg_pinterest_ads__ad_group_report_tmp.sql", "name": "stg_pinterest_ads__ad_group_report_tmp", "alias": "stg_pinterest_ads__ad_group_report_tmp", "checksum": {"name": "sha256", "checksum": "7302e33164e446b0631e0dda341de8949d3ead51adddb6ba93fbda32b00449e2"}, "tags": [], "refs": [], "sources": [["pinterest_ads", "ad_group_report"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/tmp/stg_pinterest_ads__ad_group_report_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "view"}, "created_at": 1658344851.443788, "compiled_sql": "select * \nfrom \"postgres\".\"pinterest_source_integration_tests\".\"ad_group_report_data\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__ad_group_report_tmp\""}, "model.pinterest_source.stg_pinterest_ads__keyword_history_tmp": {"raw_sql": "select * \nfrom {{ var('keyword_history') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.pinterest_source.pinterest_ads.keyword_history"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "tmp", "stg_pinterest_ads__keyword_history_tmp"], "unique_id": "model.pinterest_source.stg_pinterest_ads__keyword_history_tmp", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "tmp/stg_pinterest_ads__keyword_history_tmp.sql", "original_file_path": "models/tmp/stg_pinterest_ads__keyword_history_tmp.sql", "name": "stg_pinterest_ads__keyword_history_tmp", "alias": "stg_pinterest_ads__keyword_history_tmp", "checksum": {"name": "sha256", "checksum": "beb1849e58089e1dbb21b3eca90782b48e6de96d5df38693417b91488ac622b1"}, "tags": [], "refs": [], "sources": [["pinterest_ads", "keyword_history"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/tmp/stg_pinterest_ads__keyword_history_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "view"}, "created_at": 1658344851.446452, "compiled_sql": "select * \nfrom \"postgres\".\"pinterest_source_integration_tests\".\"keyword_history_data\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__keyword_history_tmp\""}, "model.pinterest_source.stg_pinterest_ads__campaign_history_tmp": {"raw_sql": "select *\nfrom {{ var('campaign_history') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.pinterest_source.pinterest_ads.campaign_history"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "tmp", "stg_pinterest_ads__campaign_history_tmp"], "unique_id": "model.pinterest_source.stg_pinterest_ads__campaign_history_tmp", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "tmp/stg_pinterest_ads__campaign_history_tmp.sql", "original_file_path": "models/tmp/stg_pinterest_ads__campaign_history_tmp.sql", "name": "stg_pinterest_ads__campaign_history_tmp", "alias": "stg_pinterest_ads__campaign_history_tmp", "checksum": {"name": "sha256", "checksum": "ea41c8d4ba83ff540a5f38f481cbd17406e99954f8b9b7b086ac94203a8dd6bd"}, "tags": [], "refs": [], "sources": [["pinterest_ads", "campaign_history"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/tmp/stg_pinterest_ads__campaign_history_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "view"}, "created_at": 1658344851.449074, "compiled_sql": "select *\nfrom \"postgres\".\"pinterest_source_integration_tests\".\"campaign_history_data\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__campaign_history_tmp\""}, "model.pinterest_source.stg_pinterest_ads__ad_group_history_tmp": {"raw_sql": "select *\nfrom {{ var('ad_group_history') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.pinterest_source.pinterest_ads.ad_group_history"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "tmp", "stg_pinterest_ads__ad_group_history_tmp"], "unique_id": "model.pinterest_source.stg_pinterest_ads__ad_group_history_tmp", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "tmp/stg_pinterest_ads__ad_group_history_tmp.sql", "original_file_path": "models/tmp/stg_pinterest_ads__ad_group_history_tmp.sql", "name": "stg_pinterest_ads__ad_group_history_tmp", "alias": "stg_pinterest_ads__ad_group_history_tmp", "checksum": {"name": "sha256", "checksum": "23726e9b019c8268e9aaae828c6c1430685538bef615e52f2c17436dd3615dfa"}, "tags": [], "refs": [], "sources": [["pinterest_ads", "ad_group_history"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/tmp/stg_pinterest_ads__ad_group_history_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "view"}, "created_at": 1658344851.452519, "compiled_sql": "select *\nfrom \"postgres\".\"pinterest_source_integration_tests\".\"ad_group_history_data\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__ad_group_history_tmp\""}, "model.pinterest_source.stg_pinterest_ads__pin_promotion_history_tmp": {"raw_sql": "select *\nfrom {{ var('pin_promotion_history') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.pinterest_source.pinterest_ads.pin_promotion_history"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "tmp", "stg_pinterest_ads__pin_promotion_history_tmp"], "unique_id": "model.pinterest_source.stg_pinterest_ads__pin_promotion_history_tmp", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "tmp/stg_pinterest_ads__pin_promotion_history_tmp.sql", "original_file_path": "models/tmp/stg_pinterest_ads__pin_promotion_history_tmp.sql", "name": "stg_pinterest_ads__pin_promotion_history_tmp", "alias": "stg_pinterest_ads__pin_promotion_history_tmp", "checksum": {"name": "sha256", "checksum": "065bd24ab667bb3742cf11e3d96295c4c78ecdc04bb4d86a8bfa521482c55e71"}, "tags": [], "refs": [], "sources": [["pinterest_ads", "pin_promotion_history"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/tmp/stg_pinterest_ads__pin_promotion_history_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "view"}, "created_at": 1658344851.4552672, "compiled_sql": "select *\nfrom \"postgres\".\"pinterest_source_integration_tests\".\"pin_promotion_history_data\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__pin_promotion_history_tmp\""}, "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_history_ad_group_id.220c6220be": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "ad_group_id", "model": "{{ get_where_subquery(ref('stg_pinterest_ads__ad_group_history')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.pinterest_source.stg_pinterest_ads__ad_group_history"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "postgres", "schema": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "not_null_stg_pinterest_ads__ad_group_history_ad_group_id"], "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_history_ad_group_id.220c6220be", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "not_null_stg_pinterest_ads__ad_group_history_ad_group_id.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "not_null_stg_pinterest_ads__ad_group_history_ad_group_id", "alias": "not_null_stg_pinterest_ads__ad_group_history_ad_group_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__ad_group_history"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/not_null_stg_pinterest_ads__ad_group_history_ad_group_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1658344851.504069, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__ad_group_history\"\nwhere ad_group_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "ad_group_id", "file_key_name": "models.stg_pinterest_ads__ad_group_history"}, "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_history_ad_group_id___fivetran_synced.1132e1f339": {"raw_sql": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_14ec492421aa290adbd40aba9f38efa7\") }}", "test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["ad_group_id", "_fivetran_synced"], "model": "{{ get_where_subquery(ref('stg_pinterest_ads__ad_group_history')) }}"}, "namespace": "dbt_utils"}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.pinterest_source.stg_pinterest_ads__ad_group_history"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_14ec492421aa290adbd40aba9f38efa7", "schema": "dbt_test__audit", "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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_history_ad_group_id___fivetran_synced"], "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_history_ad_group_id___fivetran_synced.1132e1f339", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "dbt_utils_unique_combination_o_14ec492421aa290adbd40aba9f38efa7.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_history_ad_group_id___fivetran_synced", "alias": "dbt_utils_unique_combination_o_14ec492421aa290adbd40aba9f38efa7", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__ad_group_history"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/dbt_utils_unique_combination_o_14ec492421aa290adbd40aba9f38efa7.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_14ec492421aa290adbd40aba9f38efa7"}, "created_at": 1658344851.5052428, "compiled_sql": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n ad_group_id, _fivetran_synced\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__ad_group_history\"\n group by ad_group_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_pinterest_ads__ad_group_history"}, "test.pinterest_source.not_null_stg_pinterest_ads__campaign_history_campaign_id.60cb10d341": {"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_pinterest_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.pinterest_source.stg_pinterest_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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "not_null_stg_pinterest_ads__campaign_history_campaign_id"], "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__campaign_history_campaign_id.60cb10d341", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "not_null_stg_pinterest_ads__campaign_history_campaign_id.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "not_null_stg_pinterest_ads__campaign_history_campaign_id", "alias": "not_null_stg_pinterest_ads__campaign_history_campaign_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__campaign_history"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/not_null_stg_pinterest_ads__campaign_history_campaign_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1658344851.511961, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_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_pinterest_ads__campaign_history"}, "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_history_campaign_id___fivetran_synced.eff7196b87": {"raw_sql": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_0f71f27ed6b0ce2d4940b4361559871b\") }}", "test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["campaign_id", "_fivetran_synced"], "model": "{{ get_where_subquery(ref('stg_pinterest_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.pinterest_source.stg_pinterest_ads__campaign_history"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_0f71f27ed6b0ce2d4940b4361559871b", "schema": "dbt_test__audit", "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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_history_campaign_id___fivetran_synced"], "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_history_campaign_id___fivetran_synced.eff7196b87", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "dbt_utils_unique_combination_o_0f71f27ed6b0ce2d4940b4361559871b.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_history_campaign_id___fivetran_synced", "alias": "dbt_utils_unique_combination_o_0f71f27ed6b0ce2d4940b4361559871b", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__campaign_history"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/dbt_utils_unique_combination_o_0f71f27ed6b0ce2d4940b4361559871b.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_0f71f27ed6b0ce2d4940b4361559871b"}, "created_at": 1658344851.513066, "compiled_sql": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n campaign_id, _fivetran_synced\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__campaign_history\"\n group by campaign_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_pinterest_ads__campaign_history"}, "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_history_pin_promotion_id.171995cd34": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}{{ config(alias=\"not_null_stg_pinterest_ads__pi_5cf03dfc3d2615f9d68ae62d55aa2b8f\") }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "pin_promotion_id", "model": "{{ get_where_subquery(ref('stg_pinterest_ads__pin_promotion_history')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_history"]}, "config": {"enabled": true, "alias": "not_null_stg_pinterest_ads__pi_5cf03dfc3d2615f9d68ae62d55aa2b8f", "schema": "dbt_test__audit", "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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "not_null_stg_pinterest_ads__pin_promotion_history_pin_promotion_id"], "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_history_pin_promotion_id.171995cd34", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "not_null_stg_pinterest_ads__pi_5cf03dfc3d2615f9d68ae62d55aa2b8f.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "not_null_stg_pinterest_ads__pin_promotion_history_pin_promotion_id", "alias": "not_null_stg_pinterest_ads__pi_5cf03dfc3d2615f9d68ae62d55aa2b8f", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__pin_promotion_history"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/not_null_stg_pinterest_ads__pi_5cf03dfc3d2615f9d68ae62d55aa2b8f.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "not_null_stg_pinterest_ads__pi_5cf03dfc3d2615f9d68ae62d55aa2b8f"}, "created_at": 1658344851.5155132, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__pin_promotion_history\"\nwhere pin_promotion_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "pin_promotion_id", "file_key_name": "models.stg_pinterest_ads__pin_promotion_history"}, "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_history__fivetran_synced__pin_promotion_id.8e9ab31ea9": {"raw_sql": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_e0501de9c3316348957b42725bcba175\") }}", "test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["_fivetran_synced", "pin_promotion_id"], "model": "{{ get_where_subquery(ref('stg_pinterest_ads__pin_promotion_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.pinterest_source.stg_pinterest_ads__pin_promotion_history"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_e0501de9c3316348957b42725bcba175", "schema": "dbt_test__audit", "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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_history__fivetran_synced__pin_promotion_id"], "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_history__fivetran_synced__pin_promotion_id.8e9ab31ea9", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "dbt_utils_unique_combination_o_e0501de9c3316348957b42725bcba175.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_history__fivetran_synced__pin_promotion_id", "alias": "dbt_utils_unique_combination_o_e0501de9c3316348957b42725bcba175", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__pin_promotion_history"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/dbt_utils_unique_combination_o_e0501de9c3316348957b42725bcba175.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_e0501de9c3316348957b42725bcba175"}, "created_at": 1658344851.516885, "compiled_sql": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n _fivetran_synced, pin_promotion_id\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__pin_promotion_history\"\n group by _fivetran_synced, pin_promotion_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_pinterest_ads__pin_promotion_history"}, "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_report_date_day.ed272212a1": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "date_day", "model": "{{ get_where_subquery(ref('stg_pinterest_ads__pin_promotion_report')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "not_null_stg_pinterest_ads__pin_promotion_report_date_day"], "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_report_date_day.ed272212a1", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "not_null_stg_pinterest_ads__pin_promotion_report_date_day.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "not_null_stg_pinterest_ads__pin_promotion_report_date_day", "alias": "not_null_stg_pinterest_ads__pin_promotion_report_date_day", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__pin_promotion_report"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/not_null_stg_pinterest_ads__pin_promotion_report_date_day.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1658344851.5194418, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__pin_promotion_report\"\nwhere date_day is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "date_day", "file_key_name": "models.stg_pinterest_ads__pin_promotion_report"}, "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_report_pin_promotion_id.9c3c9f71ab": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}{{ config(alias=\"not_null_stg_pinterest_ads__pi_d0985f4b7b2bc6d5ec7f384cc03d6f4b\") }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "pin_promotion_id", "model": "{{ get_where_subquery(ref('stg_pinterest_ads__pin_promotion_report')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_report"]}, "config": {"enabled": true, "alias": "not_null_stg_pinterest_ads__pi_d0985f4b7b2bc6d5ec7f384cc03d6f4b", "schema": "dbt_test__audit", "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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "not_null_stg_pinterest_ads__pin_promotion_report_pin_promotion_id"], "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_report_pin_promotion_id.9c3c9f71ab", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "not_null_stg_pinterest_ads__pi_d0985f4b7b2bc6d5ec7f384cc03d6f4b.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "not_null_stg_pinterest_ads__pin_promotion_report_pin_promotion_id", "alias": "not_null_stg_pinterest_ads__pi_d0985f4b7b2bc6d5ec7f384cc03d6f4b", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__pin_promotion_report"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/not_null_stg_pinterest_ads__pi_d0985f4b7b2bc6d5ec7f384cc03d6f4b.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "not_null_stg_pinterest_ads__pi_d0985f4b7b2bc6d5ec7f384cc03d6f4b"}, "created_at": 1658344851.520407, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__pin_promotion_report\"\nwhere pin_promotion_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "pin_promotion_id", "file_key_name": "models.stg_pinterest_ads__pin_promotion_report"}, "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_report_date_day__pin_promotion_id__ad_group_id__campaign_id__advertiser_id.7ea04e6024": {"raw_sql": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_b200b80456022485be650ebe0c64fc19\") }}", "test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["date_day", "pin_promotion_id", "ad_group_id", "campaign_id", "advertiser_id"], "model": "{{ get_where_subquery(ref('stg_pinterest_ads__pin_promotion_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.pinterest_source.stg_pinterest_ads__pin_promotion_report"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_b200b80456022485be650ebe0c64fc19", "schema": "dbt_test__audit", "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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_report_date_day__pin_promotion_id__ad_group_id__campaign_id__advertiser_id"], "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_report_date_day__pin_promotion_id__ad_group_id__campaign_id__advertiser_id.7ea04e6024", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "dbt_utils_unique_combination_o_b200b80456022485be650ebe0c64fc19.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_report_date_day__pin_promotion_id__ad_group_id__campaign_id__advertiser_id", "alias": "dbt_utils_unique_combination_o_b200b80456022485be650ebe0c64fc19", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__pin_promotion_report"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/dbt_utils_unique_combination_o_b200b80456022485be650ebe0c64fc19.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_b200b80456022485be650ebe0c64fc19"}, "created_at": 1658344851.521429, "compiled_sql": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n date_day, pin_promotion_id, ad_group_id, campaign_id, advertiser_id\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__pin_promotion_report\"\n group by date_day, pin_promotion_id, ad_group_id, campaign_id, advertiser_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_pinterest_ads__pin_promotion_report"}, "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_report_date_day.80e8904c4c": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "date_day", "model": "{{ get_where_subquery(ref('stg_pinterest_ads__ad_group_report')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.pinterest_source.stg_pinterest_ads__ad_group_report"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "postgres", "schema": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "not_null_stg_pinterest_ads__ad_group_report_date_day"], "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_report_date_day.80e8904c4c", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "not_null_stg_pinterest_ads__ad_group_report_date_day.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "not_null_stg_pinterest_ads__ad_group_report_date_day", "alias": "not_null_stg_pinterest_ads__ad_group_report_date_day", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__ad_group_report"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/not_null_stg_pinterest_ads__ad_group_report_date_day.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1658344851.5243578, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__ad_group_report\"\nwhere date_day is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "date_day", "file_key_name": "models.stg_pinterest_ads__ad_group_report"}, "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_report_ad_group_id.bb8cf3c471": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "ad_group_id", "model": "{{ get_where_subquery(ref('stg_pinterest_ads__ad_group_report')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.pinterest_source.stg_pinterest_ads__ad_group_report"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "postgres", "schema": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "not_null_stg_pinterest_ads__ad_group_report_ad_group_id"], "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_report_ad_group_id.bb8cf3c471", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "not_null_stg_pinterest_ads__ad_group_report_ad_group_id.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "not_null_stg_pinterest_ads__ad_group_report_ad_group_id", "alias": "not_null_stg_pinterest_ads__ad_group_report_ad_group_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__ad_group_report"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/not_null_stg_pinterest_ads__ad_group_report_ad_group_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1658344851.525439, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__ad_group_report\"\nwhere ad_group_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "ad_group_id", "file_key_name": "models.stg_pinterest_ads__ad_group_report"}, "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_report_date_day__ad_group_id__campaign_id__advertiser_id.3800c02b0e": {"raw_sql": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_e8f9cd4890106f736fbaf772885876c8\") }}", "test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["date_day", "ad_group_id", "campaign_id", "advertiser_id"], "model": "{{ get_where_subquery(ref('stg_pinterest_ads__ad_group_report')) }}"}, "namespace": "dbt_utils"}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.pinterest_source.stg_pinterest_ads__ad_group_report"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_e8f9cd4890106f736fbaf772885876c8", "schema": "dbt_test__audit", "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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_report_date_day__ad_group_id__campaign_id__advertiser_id"], "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_report_date_day__ad_group_id__campaign_id__advertiser_id.3800c02b0e", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "dbt_utils_unique_combination_o_e8f9cd4890106f736fbaf772885876c8.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_report_date_day__ad_group_id__campaign_id__advertiser_id", "alias": "dbt_utils_unique_combination_o_e8f9cd4890106f736fbaf772885876c8", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__ad_group_report"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/dbt_utils_unique_combination_o_e8f9cd4890106f736fbaf772885876c8.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_e8f9cd4890106f736fbaf772885876c8"}, "created_at": 1658344851.5264, "compiled_sql": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n date_day, ad_group_id, campaign_id, advertiser_id\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__ad_group_report\"\n group by date_day, ad_group_id, campaign_id, advertiser_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_pinterest_ads__ad_group_report"}, "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_history_advertiser_id.7d24f665fb": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "advertiser_id", "model": "{{ get_where_subquery(ref('stg_pinterest_ads__advertiser_history')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.pinterest_source.stg_pinterest_ads__advertiser_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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "not_null_stg_pinterest_ads__advertiser_history_advertiser_id"], "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_history_advertiser_id.7d24f665fb", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "not_null_stg_pinterest_ads__advertiser_history_advertiser_id.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "not_null_stg_pinterest_ads__advertiser_history_advertiser_id", "alias": "not_null_stg_pinterest_ads__advertiser_history_advertiser_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__advertiser_history"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/not_null_stg_pinterest_ads__advertiser_history_advertiser_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1658344851.5291789, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__advertiser_history\"\nwhere advertiser_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "advertiser_id", "file_key_name": "models.stg_pinterest_ads__advertiser_history"}, "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_history_updated_at__advertiser_id.94e8f4de4b": {"raw_sql": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_ac571a135eb9bbe6db1401c33b830733\") }}", "test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["updated_at", "advertiser_id"], "model": "{{ get_where_subquery(ref('stg_pinterest_ads__advertiser_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.pinterest_source.stg_pinterest_ads__advertiser_history"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_ac571a135eb9bbe6db1401c33b830733", "schema": "dbt_test__audit", "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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_history_updated_at__advertiser_id"], "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_history_updated_at__advertiser_id.94e8f4de4b", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "dbt_utils_unique_combination_o_ac571a135eb9bbe6db1401c33b830733.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_history_updated_at__advertiser_id", "alias": "dbt_utils_unique_combination_o_ac571a135eb9bbe6db1401c33b830733", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__advertiser_history"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/dbt_utils_unique_combination_o_ac571a135eb9bbe6db1401c33b830733.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_ac571a135eb9bbe6db1401c33b830733"}, "created_at": 1658344851.530148, "compiled_sql": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n updated_at, advertiser_id\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__advertiser_history\"\n group by updated_at, advertiser_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_pinterest_ads__advertiser_history"}, "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_report_date_day.153bd03c95": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "date_day", "model": "{{ get_where_subquery(ref('stg_pinterest_ads__advertiser_report')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.pinterest_source.stg_pinterest_ads__advertiser_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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "not_null_stg_pinterest_ads__advertiser_report_date_day"], "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_report_date_day.153bd03c95", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "not_null_stg_pinterest_ads__advertiser_report_date_day.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "not_null_stg_pinterest_ads__advertiser_report_date_day", "alias": "not_null_stg_pinterest_ads__advertiser_report_date_day", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__advertiser_report"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/not_null_stg_pinterest_ads__advertiser_report_date_day.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1658344851.532691, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__advertiser_report\"\nwhere date_day is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "date_day", "file_key_name": "models.stg_pinterest_ads__advertiser_report"}, "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_report_advertiser_id.1b16ed73ff": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "advertiser_id", "model": "{{ get_where_subquery(ref('stg_pinterest_ads__advertiser_report')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.pinterest_source.stg_pinterest_ads__advertiser_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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "not_null_stg_pinterest_ads__advertiser_report_advertiser_id"], "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_report_advertiser_id.1b16ed73ff", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "not_null_stg_pinterest_ads__advertiser_report_advertiser_id.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "not_null_stg_pinterest_ads__advertiser_report_advertiser_id", "alias": "not_null_stg_pinterest_ads__advertiser_report_advertiser_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__advertiser_report"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/not_null_stg_pinterest_ads__advertiser_report_advertiser_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1658344851.533637, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__advertiser_report\"\nwhere advertiser_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "advertiser_id", "file_key_name": "models.stg_pinterest_ads__advertiser_report"}, "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_report_date_day__advertiser_id.e92ce8a9c0": {"raw_sql": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_7440d10d36ca9b555b1bb533d442c6de\") }}", "test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["date_day", "advertiser_id"], "model": "{{ get_where_subquery(ref('stg_pinterest_ads__advertiser_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.pinterest_source.stg_pinterest_ads__advertiser_report"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_7440d10d36ca9b555b1bb533d442c6de", "schema": "dbt_test__audit", "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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_report_date_day__advertiser_id"], "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_report_date_day__advertiser_id.e92ce8a9c0", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "dbt_utils_unique_combination_o_7440d10d36ca9b555b1bb533d442c6de.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_report_date_day__advertiser_id", "alias": "dbt_utils_unique_combination_o_7440d10d36ca9b555b1bb533d442c6de", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__advertiser_report"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/dbt_utils_unique_combination_o_7440d10d36ca9b555b1bb533d442c6de.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_7440d10d36ca9b555b1bb533d442c6de"}, "created_at": 1658344851.534716, "compiled_sql": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n date_day, advertiser_id\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__advertiser_report\"\n group by date_day, advertiser_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_pinterest_ads__advertiser_report"}, "test.pinterest_source.not_null_stg_pinterest_ads__campaign_report_date_day.7ef5fb1238": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "date_day", "model": "{{ get_where_subquery(ref('stg_pinterest_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.pinterest_source.stg_pinterest_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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "not_null_stg_pinterest_ads__campaign_report_date_day"], "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__campaign_report_date_day.7ef5fb1238", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "not_null_stg_pinterest_ads__campaign_report_date_day.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "not_null_stg_pinterest_ads__campaign_report_date_day", "alias": "not_null_stg_pinterest_ads__campaign_report_date_day", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__campaign_report"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/not_null_stg_pinterest_ads__campaign_report_date_day.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1658344851.5371351, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__campaign_report\"\nwhere date_day is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "date_day", "file_key_name": "models.stg_pinterest_ads__campaign_report"}, "test.pinterest_source.not_null_stg_pinterest_ads__campaign_report_campaign_id.a287eba0fc": {"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_pinterest_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.pinterest_source.stg_pinterest_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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "not_null_stg_pinterest_ads__campaign_report_campaign_id"], "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__campaign_report_campaign_id.a287eba0fc", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "not_null_stg_pinterest_ads__campaign_report_campaign_id.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "not_null_stg_pinterest_ads__campaign_report_campaign_id", "alias": "not_null_stg_pinterest_ads__campaign_report_campaign_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__campaign_report"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/not_null_stg_pinterest_ads__campaign_report_campaign_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1658344851.538219, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__campaign_report\"\nwhere campaign_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "campaign_id", "file_key_name": "models.stg_pinterest_ads__campaign_report"}, "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_report_date_day__campaign_id__advertiser_id.ff47cb8abc": {"raw_sql": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_ea5276bb765474198ad51f22f75fccbf\") }}", "test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["date_day", "campaign_id", "advertiser_id"], "model": "{{ get_where_subquery(ref('stg_pinterest_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.pinterest_source.stg_pinterest_ads__campaign_report"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_ea5276bb765474198ad51f22f75fccbf", "schema": "dbt_test__audit", "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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_report_date_day__campaign_id__advertiser_id"], "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_report_date_day__campaign_id__advertiser_id.ff47cb8abc", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "dbt_utils_unique_combination_o_ea5276bb765474198ad51f22f75fccbf.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_report_date_day__campaign_id__advertiser_id", "alias": "dbt_utils_unique_combination_o_ea5276bb765474198ad51f22f75fccbf", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__campaign_report"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/dbt_utils_unique_combination_o_ea5276bb765474198ad51f22f75fccbf.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_ea5276bb765474198ad51f22f75fccbf"}, "created_at": 1658344851.53916, "compiled_sql": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n date_day, campaign_id, advertiser_id\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__campaign_report\"\n group by date_day, campaign_id, advertiser_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_pinterest_ads__campaign_report"}, "test.pinterest_source.not_null_stg_pinterest_ads__keyword_history_keyword_id.246889377a": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "keyword_id", "model": "{{ get_where_subquery(ref('stg_pinterest_ads__keyword_history')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.pinterest_source.stg_pinterest_ads__keyword_history"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "postgres", "schema": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "not_null_stg_pinterest_ads__keyword_history_keyword_id"], "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__keyword_history_keyword_id.246889377a", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "not_null_stg_pinterest_ads__keyword_history_keyword_id.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "not_null_stg_pinterest_ads__keyword_history_keyword_id", "alias": "not_null_stg_pinterest_ads__keyword_history_keyword_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__keyword_history"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/not_null_stg_pinterest_ads__keyword_history_keyword_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1658344851.541812, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__keyword_history\"\nwhere keyword_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "keyword_id", "file_key_name": "models.stg_pinterest_ads__keyword_history"}, "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_history_keyword_id__ad_group_id___fivetran_synced.d122faa877": {"raw_sql": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_ed0c009a9ff1bbb46e1ea2a210b25628\") }}", "test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["keyword_id", "ad_group_id", "_fivetran_synced"], "model": "{{ get_where_subquery(ref('stg_pinterest_ads__keyword_history')) }}"}, "namespace": "dbt_utils"}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.pinterest_source.stg_pinterest_ads__keyword_history"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_ed0c009a9ff1bbb46e1ea2a210b25628", "schema": "dbt_test__audit", "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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_history_keyword_id__ad_group_id___fivetran_synced"], "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_history_keyword_id__ad_group_id___fivetran_synced.d122faa877", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "dbt_utils_unique_combination_o_ed0c009a9ff1bbb46e1ea2a210b25628.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_history_keyword_id__ad_group_id___fivetran_synced", "alias": "dbt_utils_unique_combination_o_ed0c009a9ff1bbb46e1ea2a210b25628", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__keyword_history"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/dbt_utils_unique_combination_o_ed0c009a9ff1bbb46e1ea2a210b25628.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_ed0c009a9ff1bbb46e1ea2a210b25628"}, "created_at": 1658344851.542766, "compiled_sql": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n keyword_id, ad_group_id, _fivetran_synced\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__keyword_history\"\n group by keyword_id, ad_group_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_pinterest_ads__keyword_history"}, "test.pinterest_source.not_null_stg_pinterest_ads__keyword_report_date_day.9937216300": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "date_day", "model": "{{ get_where_subquery(ref('stg_pinterest_ads__keyword_report')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.pinterest_source.stg_pinterest_ads__keyword_report"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "postgres", "schema": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "not_null_stg_pinterest_ads__keyword_report_date_day"], "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__keyword_report_date_day.9937216300", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "not_null_stg_pinterest_ads__keyword_report_date_day.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "not_null_stg_pinterest_ads__keyword_report_date_day", "alias": "not_null_stg_pinterest_ads__keyword_report_date_day", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__keyword_report"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/not_null_stg_pinterest_ads__keyword_report_date_day.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1658344851.545433, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__keyword_report\"\nwhere date_day is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "date_day", "file_key_name": "models.stg_pinterest_ads__keyword_report"}, "test.pinterest_source.not_null_stg_pinterest_ads__keyword_report_keyword_id.5f00679c48": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "keyword_id", "model": "{{ get_where_subquery(ref('stg_pinterest_ads__keyword_report')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.pinterest_source.stg_pinterest_ads__keyword_report"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "postgres", "schema": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "not_null_stg_pinterest_ads__keyword_report_keyword_id"], "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__keyword_report_keyword_id.5f00679c48", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "not_null_stg_pinterest_ads__keyword_report_keyword_id.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "not_null_stg_pinterest_ads__keyword_report_keyword_id", "alias": "not_null_stg_pinterest_ads__keyword_report_keyword_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__keyword_report"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/not_null_stg_pinterest_ads__keyword_report_keyword_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1658344851.546387, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__keyword_report\"\nwhere keyword_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "keyword_id", "file_key_name": "models.stg_pinterest_ads__keyword_report"}, "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_report_date_day__keyword_id__ad_group_id__campaign_id__advertiser_id.3ac101cc13": {"raw_sql": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_9e2909bcbf42ab2426c3540a2e7a0bb7\") }}", "test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["date_day", "keyword_id", "ad_group_id", "campaign_id", "advertiser_id"], "model": "{{ get_where_subquery(ref('stg_pinterest_ads__keyword_report')) }}"}, "namespace": "dbt_utils"}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.pinterest_source.stg_pinterest_ads__keyword_report"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_9e2909bcbf42ab2426c3540a2e7a0bb7", "schema": "dbt_test__audit", "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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_report_date_day__keyword_id__ad_group_id__campaign_id__advertiser_id"], "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_report_date_day__keyword_id__ad_group_id__campaign_id__advertiser_id.3ac101cc13", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "dbt_utils_unique_combination_o_9e2909bcbf42ab2426c3540a2e7a0bb7.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_report_date_day__keyword_id__ad_group_id__campaign_id__advertiser_id", "alias": "dbt_utils_unique_combination_o_9e2909bcbf42ab2426c3540a2e7a0bb7", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__keyword_report"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/dbt_utils_unique_combination_o_9e2909bcbf42ab2426c3540a2e7a0bb7.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_9e2909bcbf42ab2426c3540a2e7a0bb7"}, "created_at": 1658344851.547474, "compiled_sql": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n date_day, keyword_id, ad_group_id, campaign_id, advertiser_id\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__keyword_report\"\n group by date_day, keyword_id, ad_group_id, campaign_id, advertiser_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_pinterest_ads__keyword_report"}}, "sources": {"source.pinterest_source.pinterest_ads.pin_promotion_report": {"fqn": ["pinterest_source", "pinterest_ads", "pin_promotion_report"], "database": "postgres", "schema": "pinterest_source_integration_tests", "unique_id": "source.pinterest_source.pinterest_ads.pin_promotion_report", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "models/src_pinterest_ads.yml", "original_file_path": "models/src_pinterest_ads.yml", "name": "pin_promotion_report", "source_name": "pinterest_ads", "source_description": "", "loader": "Fivetran", "identifier": "pin_promotion_report_data", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 168, "period": "hour"}, "filter": null}, "external": null, "description": "Each record represents the daily performance of a Pinterest Pin promotion.", "columns": {"date": {"name": "date", "description": "The performance date of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "pin_promotion_id": {"name": "pin_promotion_id", "description": "The ID of the related Pin promotion.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_id": {"name": "ad_group_id", "description": "The ID of the related Ad group.", "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": []}, "advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impression_1": {"name": "impression_1", "description": "The number of paid pin impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impression_2": {"name": "impression_2", "description": "The number of earned pin impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clickthrough_1": {"name": "clickthrough_1", "description": "The number of paid pin clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clickthrough_2": {"name": "clickthrough_2", "description": "The number of earned outbound clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend_in_micro_dollar": {"name": "spend_in_micro_dollar", "description": "The amount of spend in micro dollars that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"pin_promotion_report_data\"", "created_at": 1658344851.573319}, "source.pinterest_source.pinterest_ads.pin_promotion_history": {"fqn": ["pinterest_source", "pinterest_ads", "pin_promotion_history"], "database": "postgres", "schema": "pinterest_source_integration_tests", "unique_id": "source.pinterest_source.pinterest_ads.pin_promotion_history", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "models/src_pinterest_ads.yml", "original_file_path": "models/src_pinterest_ads.yml", "name": "pin_promotion_history", "source_name": "pinterest_ads", "source_description": "", "loader": "Fivetran", "identifier": "pin_promotion_history_data", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 168, "period": "hour"}, "filter": null}, "external": null, "description": "Each record represents a version of a Pinterest Pin promotion.", "columns": {"id": {"name": "id", "description": "The ID of the related Pin promotion.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_id": {"name": "ad_group_id", "description": "The ID of the related Ad group.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "created_time": {"name": "created_time", "description": "Pin creation time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "destination_url": {"name": "destination_url", "description": "Pin destination URL.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Pin promotion name.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "pin_id": {"name": "pin_id", "description": "Original pin ID.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status": {"name": "status", "description": "The status of the Pin promotion. One of \"ACTIVE\", \"ARCHIVED\", \"PAUSED\"", "meta": {}, "data_type": null, "quote": null, "tags": []}, "creative_type": {"name": "creative_type", "description": "The creative type. \nOne of \"APP\", \"APP_VIDEO\", \"BOARD\", \"CAROUSEL\", \"CINEMATIC\", \"COMMERCE\", \"MAX_VIDEO\", \"NATIVE_VIDEO\", \"REGULAR\", \n\"SEARCH_PROMINENCE\", \"SEARCH_PROMINENCE_CAROUSEL\", \"SHOPPING\", \"SHOP_THE_PIN\", \"THIRD_PARTY\", or \"VIDEO\".\n", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"pin_promotion_history_data\"", "created_at": 1658344851.5734122}, "source.pinterest_source.pinterest_ads.campaign_history": {"fqn": ["pinterest_source", "pinterest_ads", "campaign_history"], "database": "postgres", "schema": "pinterest_source_integration_tests", "unique_id": "source.pinterest_source.pinterest_ads.campaign_history", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "models/src_pinterest_ads.yml", "original_file_path": "models/src_pinterest_ads.yml", "name": "campaign_history", "source_name": "pinterest_ads", "source_description": "", "loader": "Fivetran", "identifier": "campaign_history_data", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 168, "period": "hour"}, "filter": null}, "external": null, "description": "Each record represents a version of a Pinterest Campaign.", "columns": {"id": {"name": "id", "description": "The ID of the related Campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "created_time": {"name": "created_time", "description": "Campaign creation time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Campaign name.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status": {"name": "status", "description": "The status of the Campaign. One of \"ACTIVE\", \"ARCHIVED\", \"PAUSED\"", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"campaign_history_data\"", "created_at": 1658344851.573486}, "source.pinterest_source.pinterest_ads.ad_group_history": {"fqn": ["pinterest_source", "pinterest_ads", "ad_group_history"], "database": "postgres", "schema": "pinterest_source_integration_tests", "unique_id": "source.pinterest_source.pinterest_ads.ad_group_history", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "models/src_pinterest_ads.yml", "original_file_path": "models/src_pinterest_ads.yml", "name": "ad_group_history", "source_name": "pinterest_ads", "source_description": "", "loader": "Fivetran", "identifier": "ad_group_history_data", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 168, "period": "hour"}, "filter": null}, "external": null, "description": "Each record represents a version of a Pinterest Ad Group.", "columns": {"id": {"name": "id", "description": "The ID of the related Ad group.", "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": []}, "created_time": {"name": "created_time", "description": "Ad group creation time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Ad group name.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status": {"name": "status", "description": "The status of the Ad group. One of \"ACTIVE\", \"ARCHIVED\", \"PAUSED\"", "meta": {}, "data_type": null, "quote": null, "tags": []}, "start_time": {"name": "start_time", "description": "Ad group start time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "end_time": {"name": "end_time", "description": "Ad group end time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"ad_group_history_data\"", "created_at": 1658344851.573554}, "source.pinterest_source.pinterest_ads.ad_group_report": {"fqn": ["pinterest_source", "pinterest_ads", "ad_group_report"], "database": "postgres", "schema": "pinterest_source_integration_tests", "unique_id": "source.pinterest_source.pinterest_ads.ad_group_report", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "models/src_pinterest_ads.yml", "original_file_path": "models/src_pinterest_ads.yml", "name": "ad_group_report", "source_name": "pinterest_ads", "source_description": "", "loader": "Fivetran", "identifier": "ad_group_report_data", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 168, "period": "hour"}, "filter": null}, "external": null, "description": "Each record represents the daily performance of a Pinterest ad group.", "columns": {"date": {"name": "date", "description": "The performance date of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_id": {"name": "ad_group_id", "description": "The ID of the related Ad group.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_name": {"name": "ad_group_name", "description": "Name of the ad group.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_status": {"name": "ad_group_status", "description": "Status of the ad group.", "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": []}, "advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impression_1": {"name": "impression_1", "description": "The number of paid pin impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impression_2": {"name": "impression_2", "description": "The number of earned pin impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clickthrough_1": {"name": "clickthrough_1", "description": "The number of paid pin clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clickthrough_2": {"name": "clickthrough_2", "description": "The number of earned outbound clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend_in_micro_dollar": {"name": "spend_in_micro_dollar", "description": "The amount of spend in micro dollars that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"ad_group_report_data\"", "created_at": 1658344851.573625}, "source.pinterest_source.pinterest_ads.advertiser_history": {"fqn": ["pinterest_source", "pinterest_ads", "advertiser_history"], "database": "postgres", "schema": "pinterest_source_integration_tests", "unique_id": "source.pinterest_source.pinterest_ads.advertiser_history", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "models/src_pinterest_ads.yml", "original_file_path": "models/src_pinterest_ads.yml", "name": "advertiser_history", "source_name": "pinterest_ads", "source_description": "", "loader": "Fivetran", "identifier": "advertiser_history_data", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 168, "period": "hour"}, "filter": null}, "external": null, "description": "Each record represents a version of a Pinterest advertiser.", "columns": {"id": {"name": "id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Name of the advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status": {"name": "status", "description": "Status of the advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "billing_profile_status": {"name": "billing_profile_status", "description": "Status of the billing profile.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "billing_type": {"name": "billing_type", "description": "The billing type of the advertiser. Will typically be CREDIT_CARD or INVOICE.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "country": {"name": "country", "description": "The country code where the advertiser is located.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "created_time": {"name": "created_time", "description": "Timestamp of when a record was created.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "currency": {"name": "currency", "description": "The currency code which the a", "meta": {}, "data_type": null, "quote": null, "tags": []}, "merchant_id": {"name": "merchant_id", "description": "Unique ID of the merchant associated with the advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "owner_user_id": {"name": "owner_user_id", "description": "Unique identifier of the owner user.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "updated_time": {"name": "updated_time", "description": "Timestamp of when a record was last updated.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"advertiser_history_data\"", "created_at": 1658344851.573695}, "source.pinterest_source.pinterest_ads.advertiser_report": {"fqn": ["pinterest_source", "pinterest_ads", "advertiser_report"], "database": "postgres", "schema": "pinterest_source_integration_tests", "unique_id": "source.pinterest_source.pinterest_ads.advertiser_report", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "models/src_pinterest_ads.yml", "original_file_path": "models/src_pinterest_ads.yml", "name": "advertiser_report", "source_name": "pinterest_ads", "source_description": "", "loader": "Fivetran", "identifier": "advertiser_report_data", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 168, "period": "hour"}, "filter": null}, "external": null, "description": "Each record represents the daily performance of a Pinterest advertiser.", "columns": {"date": {"name": "date", "description": "The performance date of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impression_1": {"name": "impression_1", "description": "The number of paid pin impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impression_2": {"name": "impression_2", "description": "The number of earned pin impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clickthrough_1": {"name": "clickthrough_1", "description": "The number of paid pin clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clickthrough_2": {"name": "clickthrough_2", "description": "The number of earned outbound clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend_in_micro_dollar": {"name": "spend_in_micro_dollar", "description": "The amount of spend in micro dollars that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"advertiser_report_data\"", "created_at": 1658344851.57376}, "source.pinterest_source.pinterest_ads.campaign_report": {"fqn": ["pinterest_source", "pinterest_ads", "campaign_report"], "database": "postgres", "schema": "pinterest_source_integration_tests", "unique_id": "source.pinterest_source.pinterest_ads.campaign_report", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "models/src_pinterest_ads.yml", "original_file_path": "models/src_pinterest_ads.yml", "name": "campaign_report", "source_name": "pinterest_ads", "source_description": "", "loader": "Fivetran", "identifier": "campaign_report_data", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 168, "period": "hour"}, "filter": null}, "external": null, "description": "Each record represents the daily performance of a Pinterest campaign.", "columns": {"date": {"name": "date", "description": "The performance date of the record.", "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": "Name of the campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_status": {"name": "campaign_status", "description": "Status of the campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impression_1": {"name": "impression_1", "description": "The number of paid pin impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impression_2": {"name": "impression_2", "description": "The number of earned pin impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clickthrough_1": {"name": "clickthrough_1", "description": "The number of paid pin clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clickthrough_2": {"name": "clickthrough_2", "description": "The number of earned outbound clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend_in_micro_dollar": {"name": "spend_in_micro_dollar", "description": "The amount of spend in micro dollars that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"campaign_report_data\"", "created_at": 1658344851.573859}, "source.pinterest_source.pinterest_ads.keyword_history": {"fqn": ["pinterest_source", "pinterest_ads", "keyword_history"], "database": "postgres", "schema": "pinterest_source_integration_tests", "unique_id": "source.pinterest_source.pinterest_ads.keyword_history", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "models/src_pinterest_ads.yml", "original_file_path": "models/src_pinterest_ads.yml", "name": "keyword_history", "source_name": "pinterest_ads", "source_description": "", "loader": "Fivetran", "identifier": "keyword_history_data", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 168, "period": "hour"}, "filter": null}, "external": null, "description": "Each record represents a version of a Pinterest keyword.", "columns": {"id": {"name": "id", "description": "Unique identifier of the keyword.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "value": {"name": "value", "description": "The text value that makes upd the keyword.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_id": {"name": "_fivetran_id", "description": "The unique identifier of the record within the Fivetran synced table.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_id": {"name": "ad_group_id", "description": "The ID of the related Ad group.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "archived": {"name": "archived", "description": "Boolean indicating if the keyword is archived.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "bid": {"name": "bid", "description": "Bid amount set for the keyword.", "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": []}, "match_type": {"name": "match_type", "description": "Type of match the keyword is tied to. Either Exact or Broad.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "parent_type": {"name": "parent_type", "description": "Identifier of what grain the parent type is. Ad group or campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"keyword_history_data\"", "created_at": 1658344851.573926}, "source.pinterest_source.pinterest_ads.keyword_report": {"fqn": ["pinterest_source", "pinterest_ads", "keyword_report"], "database": "postgres", "schema": "pinterest_source_integration_tests", "unique_id": "source.pinterest_source.pinterest_ads.keyword_report", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "models/src_pinterest_ads.yml", "original_file_path": "models/src_pinterest_ads.yml", "name": "keyword_report", "source_name": "pinterest_ads", "source_description": "", "loader": "Fivetran", "identifier": "keyword_report_data", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 168, "period": "hour"}, "filter": null}, "external": null, "description": "Each record represents the daily performance of a Pinterest key word.", "columns": {"date": {"name": "date", "description": "The performance date of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "keyword_id": {"name": "keyword_id", "description": "Unique identifier of the keyword.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "pin_promotion_id": {"name": "pin_promotion_id", "description": "The ID of the related Pin promotion.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_id": {"name": "ad_group_id", "description": "The ID of the related Ad group.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_name": {"name": "ad_group_name", "description": "Name of the ad group.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_status": {"name": "ad_group_status", "description": "Status of the ad group.", "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": []}, "advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impression_1": {"name": "impression_1", "description": "The number of paid pin impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impression_2": {"name": "impression_2", "description": "The number of earned pin impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clickthrough_1": {"name": "clickthrough_1", "description": "The number of paid pin clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clickthrough_2": {"name": "clickthrough_2", "description": "The number of earned outbound clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend_in_micro_dollar": {"name": "spend_in_micro_dollar", "description": "The amount of spend in micro dollars that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"keyword_report_data\"", "created_at": 1658344851.573993}}, "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": 1658344850.7685308}, "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": 1658344850.769227}, "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": 1658344850.7744992}, "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": 1658344850.774994}, "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": 1658344850.775313}, "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": 1658344850.775635}, "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": 1658344850.7761102}, "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": 1658344850.776479}, "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": 1658344850.776649}, "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": 1658344850.7769952}, "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": 1658344850.7773921}, "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": 1658344850.777469}, "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": 1658344850.777645}, "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": 1658344850.777747}, "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": 1658344850.778667}, "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": 1658344850.779105}, "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": 1658344850.7793322}, "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": 1658344850.780001}, "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": 1658344850.7808268}, "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": 1658344850.781985}, "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": 1658344850.782188}, "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": 1658344850.782332}, "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": 1658344850.782474}, "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": 1658344850.782611}, "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": 1658344850.783042}, "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": 1658344850.783346}, "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": 1658344850.7836459}, "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": 1658344850.78414}, "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": 1658344850.784404}, "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": 1658344850.7876549}, "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": 1658344850.787822}, "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": 1658344850.788042}, "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": 1658344850.7881868}, "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": 1658344850.78828}, "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": 1658344850.789053}, "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": 1658344850.789213}, "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": 1658344850.789377}, "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": 1658344850.7903318}, "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": 1658344850.79216}, "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": 1658344850.795278}, "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": 1658344850.795553}, "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": 1658344850.7957199}, "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": 1658344850.795809}, "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": 1658344850.796009}, "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": 1658344850.796863}, "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": 1658344850.797048}, "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": 1658344850.797291}, "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": 1658344850.797708}, "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": 1658344850.80344}, "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": 1658344850.805506}, "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": 1658344850.806016}, "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": 1658344850.806318}, "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": 1658344850.806742}, "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": 1658344850.807114}, "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": 1658344850.807955}, "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": 1658344850.808484}, "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": 1658344850.809087}, "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": 1658344850.811767}, "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": 1658344850.812897}, "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": 1658344850.8131251}, "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": 1658344850.813535}, "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": 1658344850.813792}, "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": 1658344850.814401}, "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": 1658344850.815083}, "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": 1658344850.81987}, "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": 1658344850.8244648}, "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": 1658344850.825664}, "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": 1658344850.8268569}, "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": 1658344850.8276072}, "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": 1658344850.831393}, "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": 1658344850.8319}, "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": 1658344850.832093}, "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": 1658344850.8323}, "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": 1658344850.832716}, "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": 1658344850.8362281}, "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": 1658344850.8366048}, "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": 1658344850.836819}, "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": 1658344850.838026}, "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": 1658344850.838448}, "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": 1658344850.838604}, "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": 1658344850.838785}, "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": 1658344850.839036}, "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": 1658344850.841829}, "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": 1658344850.84572}, "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": 1658344850.846608}, "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": 1658344850.846833}, "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": 1658344850.8473039}, "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": 1658344850.8474429}, "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": 1658344850.847552}, "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": 1658344850.847708}, "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": 1658344850.847817}, "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": 1658344850.848288}, "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": 1658344850.848532}, "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": 1658344850.849717}, "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": 1658344850.850178}, "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": 1658344850.850399}, "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": 1658344850.850962}, "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": 1658344850.8512142}, "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": 1658344850.851487}, "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": 1658344850.851935}, "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": 1658344850.852181}, "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": 1658344850.85259}, "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": 1658344850.852831}, "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": 1658344850.853133}, "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": 1658344850.853744}, "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": 1658344850.854881}, "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": 1658344850.855445}, "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": 1658344850.855734}, "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": 1658344850.8575108}, "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": 1658344850.858779}, "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": 1658344850.859526}, "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": 1658344850.859762}, "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": 1658344850.8602319}, "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": 1658344850.860411}, "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": 1658344850.860569}, "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": 1658344850.860745}, "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": 1658344850.861265}, "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": 1658344850.861398}, "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": 1658344850.86155}, "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": 1658344850.861938}, "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": 1658344850.863511}, "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": 1658344850.863809}, "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": 1658344850.863992}, "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": 1658344850.864202}, "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": 1658344850.864384}, "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": 1658344850.864542}, "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": 1658344850.864745}, "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": 1658344850.865016}, "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": 1658344850.865254}, "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": 1658344850.865953}, "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": 1658344850.866179}, "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": 1658344850.866366}, "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": 1658344850.8668811}, "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": 1658344850.867024}, "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": 1658344850.867247}, "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": 1658344850.8676538}, "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": 1658344850.86834}, "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": 1658344850.868505}, "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": 1658344850.8686998}, "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": 1658344850.868862}, "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": 1658344850.869122}, "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": 1658344850.8695931}, "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": 1658344850.870989}, "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": 1658344850.871237}, "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": 1658344850.871419}, "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": 1658344850.871567}, "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": 1658344850.871747}, "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": 1658344850.871988}, "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": 1658344850.872184}, "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": 1658344850.872548}, "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": 1658344850.872728}, "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": 1658344850.872885}, "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": 1658344850.8746161}, "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": 1658344850.874769}, "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": 1658344850.875079}, "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": 1658344850.875257}, "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": 1658344850.875595}, "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": 1658344850.8758242}, "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": 1658344850.876408}, "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": 1658344850.876656}, "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": 1658344850.877405}, "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": 1658344850.8779771}, "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": 1658344850.878201}, "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": 1658344850.8784819}, "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": 1658344850.878756}, "macro.dbt_utils.except": {"unique_id": "macro.dbt_utils.except", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.8790731}, "macro.dbt_utils.default__except": {"unique_id": "macro.dbt_utils.default__except", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.879147}, "macro.dbt_utils.bigquery__except": {"unique_id": "macro.dbt_utils.bigquery__except", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.879214}, "macro.dbt_utils.replace": {"unique_id": "macro.dbt_utils.replace", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.8796}, "macro.dbt_utils.default__replace": {"unique_id": "macro.dbt_utils.default__replace", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.879762}, "macro.dbt_utils.concat": {"unique_id": "macro.dbt_utils.concat", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.880078}, "macro.dbt_utils.default__concat": {"unique_id": "macro.dbt_utils.default__concat", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.8802712}, "macro.dbt_utils.type_string": {"unique_id": "macro.dbt_utils.type_string", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.8809679}, "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/pinterest/dbt_pinterest_source/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": 1658344850.881044}, "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/pinterest/dbt_pinterest_source/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": 1658344850.881113}, "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/pinterest/dbt_pinterest_source/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": 1658344850.881182}, "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/pinterest/dbt_pinterest_source/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": 1658344850.881247}, "macro.dbt_utils.type_timestamp": {"unique_id": "macro.dbt_utils.type_timestamp", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.881406}, "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/pinterest/dbt_pinterest_source/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": 1658344850.88148}, "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/pinterest/dbt_pinterest_source/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": 1658344850.881548}, "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/pinterest/dbt_pinterest_source/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": 1658344850.8816168}, "macro.dbt_utils.type_float": {"unique_id": "macro.dbt_utils.type_float", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.881776}, "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/pinterest/dbt_pinterest_source/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": 1658344850.881845}, "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/pinterest/dbt_pinterest_source/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": 1658344850.881909}, "macro.dbt_utils.type_numeric": {"unique_id": "macro.dbt_utils.type_numeric", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.8820639}, "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/pinterest/dbt_pinterest_source/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": 1658344850.882133}, "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/pinterest/dbt_pinterest_source/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": 1658344850.882199}, "macro.dbt_utils.type_bigint": {"unique_id": "macro.dbt_utils.type_bigint", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.88235}, "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/pinterest/dbt_pinterest_source/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": 1658344850.88242}, "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/pinterest/dbt_pinterest_source/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": 1658344850.882486}, "macro.dbt_utils.type_int": {"unique_id": "macro.dbt_utils.type_int", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.882698}, "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/pinterest/dbt_pinterest_source/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": 1658344850.882766}, "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/pinterest/dbt_pinterest_source/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": 1658344850.882834}, "macro.dbt_utils._is_relation": {"unique_id": "macro.dbt_utils._is_relation", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.883339}, "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/pinterest/dbt_pinterest_source/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": 1658344850.8837912}, "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/pinterest/dbt_pinterest_source/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": 1658344850.883928}, "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/pinterest/dbt_pinterest_source/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": 1658344850.8842309}, "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/pinterest/dbt_pinterest_source/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": 1658344850.884371}, "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/pinterest/dbt_pinterest_source/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": 1658344850.88447}, "macro.dbt_utils.length": {"unique_id": "macro.dbt_utils.length", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.884821}, "macro.dbt_utils.default__length": {"unique_id": "macro.dbt_utils.default__length", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.884922}, "macro.dbt_utils.redshift__length": {"unique_id": "macro.dbt_utils.redshift__length", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.8850188}, "macro.dbt_utils.dateadd": {"unique_id": "macro.dbt_utils.dateadd", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.885621}, "macro.dbt_utils.default__dateadd": {"unique_id": "macro.dbt_utils.default__dateadd", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.8857799}, "macro.dbt_utils.bigquery__dateadd": {"unique_id": "macro.dbt_utils.bigquery__dateadd", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.88594}, "macro.dbt_utils.postgres__dateadd": {"unique_id": "macro.dbt_utils.postgres__dateadd", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.886091}, "macro.dbt_utils.redshift__dateadd": {"unique_id": "macro.dbt_utils.redshift__dateadd", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.8862798}, "macro.dbt_utils.intersect": {"unique_id": "macro.dbt_utils.intersect", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.8865972}, "macro.dbt_utils.default__intersect": {"unique_id": "macro.dbt_utils.default__intersect", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.88667}, "macro.dbt_utils.bigquery__intersect": {"unique_id": "macro.dbt_utils.bigquery__intersect", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.8867378}, "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/pinterest/dbt_pinterest_source/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": 1658344850.88713}, "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/pinterest/dbt_pinterest_source/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": 1658344850.887267}, "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/pinterest/dbt_pinterest_source/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": 1658344850.887464}, "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/pinterest/dbt_pinterest_source/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": 1658344850.887603}, "macro.dbt_utils.right": {"unique_id": "macro.dbt_utils.right", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.88819}, "macro.dbt_utils.default__right": {"unique_id": "macro.dbt_utils.default__right", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.8883252}, "macro.dbt_utils.bigquery__right": {"unique_id": "macro.dbt_utils.bigquery__right", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.888478}, "macro.dbt_utils.snowflake__right": {"unique_id": "macro.dbt_utils.snowflake__right", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.888628}, "macro.dbt_utils.listagg": {"unique_id": "macro.dbt_utils.listagg", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.890829}, "macro.dbt_utils.default__listagg": {"unique_id": "macro.dbt_utils.default__listagg", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.891226}, "macro.dbt_utils.bigquery__listagg": {"unique_id": "macro.dbt_utils.bigquery__listagg", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.891501}, "macro.dbt_utils.postgres__listagg": {"unique_id": "macro.dbt_utils.postgres__listagg", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.891875}, "macro.dbt_utils.redshift__listagg": {"unique_id": "macro.dbt_utils.redshift__listagg", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.8928168}, "macro.dbt_utils.datediff": {"unique_id": "macro.dbt_utils.datediff", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.8952682}, "macro.dbt_utils.default__datediff": {"unique_id": "macro.dbt_utils.default__datediff", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.8954308}, "macro.dbt_utils.bigquery__datediff": {"unique_id": "macro.dbt_utils.bigquery__datediff", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.895586}, "macro.dbt_utils.postgres__datediff": {"unique_id": "macro.dbt_utils.postgres__datediff", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.8973281}, "macro.dbt_utils.redshift__datediff": {"unique_id": "macro.dbt_utils.redshift__datediff", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.897536}, "macro.dbt_utils.safe_cast": {"unique_id": "macro.dbt_utils.safe_cast", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.897959}, "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/pinterest/dbt_pinterest_source/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": 1658344850.8980942}, "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/pinterest/dbt_pinterest_source/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": 1658344850.8982148}, "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/pinterest/dbt_pinterest_source/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": 1658344850.898336}, "macro.dbt_utils.hash": {"unique_id": "macro.dbt_utils.hash", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.898688}, "macro.dbt_utils.default__hash": {"unique_id": "macro.dbt_utils.default__hash", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.898824}, "macro.dbt_utils.bigquery__hash": {"unique_id": "macro.dbt_utils.bigquery__hash", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.898947}, "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/pinterest/dbt_pinterest_source/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": 1658344850.8993049}, "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/pinterest/dbt_pinterest_source/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": 1658344850.89944}, "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/pinterest/dbt_pinterest_source/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": 1658344850.8995578}, "macro.dbt_utils.identifier": {"unique_id": "macro.dbt_utils.identifier", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.900079}, "macro.dbt_utils.default__identifier": {"unique_id": "macro.dbt_utils.default__identifier", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.900182}, "macro.dbt_utils.bigquery__identifier": {"unique_id": "macro.dbt_utils.bigquery__identifier", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.90028}, "macro.dbt_utils.any_value": {"unique_id": "macro.dbt_utils.any_value", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.900621}, "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/pinterest/dbt_pinterest_source/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": 1658344850.900727}, "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/pinterest/dbt_pinterest_source/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": 1658344850.900832}, "macro.dbt_utils.position": {"unique_id": "macro.dbt_utils.position", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.901246}, "macro.dbt_utils.default__position": {"unique_id": "macro.dbt_utils.default__position", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.90138}, "macro.dbt_utils.bigquery__position": {"unique_id": "macro.dbt_utils.bigquery__position", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.9015071}, "macro.dbt_utils.string_literal": {"unique_id": "macro.dbt_utils.string_literal", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.90188}, "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/pinterest/dbt_pinterest_source/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": 1658344850.901982}, "macro.dbt_utils.current_timestamp": {"unique_id": "macro.dbt_utils.current_timestamp", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.90256}, "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/pinterest/dbt_pinterest_source/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": 1658344850.902668}, "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/pinterest/dbt_pinterest_source/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": 1658344850.902736}, "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/pinterest/dbt_pinterest_source/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": 1658344850.902808}, "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/pinterest/dbt_pinterest_source/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": 1658344850.9029608}, "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/pinterest/dbt_pinterest_source/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": 1658344850.9030678}, "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/pinterest/dbt_pinterest_source/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": 1658344850.9032068}, "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/pinterest/dbt_pinterest_source/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": 1658344850.9033139}, "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/pinterest/dbt_pinterest_source/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": 1658344850.9034398}, "macro.dbt_utils.width_bucket": {"unique_id": "macro.dbt_utils.width_bucket", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.904843}, "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/pinterest/dbt_pinterest_source/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": 1658344850.9053068}, "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/pinterest/dbt_pinterest_source/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": 1658344850.905754}, "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/pinterest/dbt_pinterest_source/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": 1658344850.905941}, "macro.dbt_utils.array_concat": {"unique_id": "macro.dbt_utils.array_concat", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.906369}, "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/pinterest/dbt_pinterest_source/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": 1658344850.906496}, "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/pinterest/dbt_pinterest_source/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": 1658344850.9066198}, "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/pinterest/dbt_pinterest_source/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": 1658344850.906742}, "macro.dbt_utils.bool_or": {"unique_id": "macro.dbt_utils.bool_or", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.907125}, "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/pinterest/dbt_pinterest_source/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": 1658344850.907233}, "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/pinterest/dbt_pinterest_source/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": 1658344850.907394}, "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/pinterest/dbt_pinterest_source/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": 1658344850.907488}, "macro.dbt_utils.last_day": {"unique_id": "macro.dbt_utils.last_day", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.908072}, "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/pinterest/dbt_pinterest_source/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": 1658344850.9083378}, "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/pinterest/dbt_pinterest_source/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": 1658344850.908483}, "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/pinterest/dbt_pinterest_source/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": 1658344850.908897}, "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/pinterest/dbt_pinterest_source/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": 1658344850.9090738}, "macro.dbt_utils.split_part": {"unique_id": "macro.dbt_utils.split_part", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.910516}, "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/pinterest/dbt_pinterest_source/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": 1658344850.910678}, "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/pinterest/dbt_pinterest_source/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": 1658344850.910903}, "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/pinterest/dbt_pinterest_source/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": 1658344850.9112298}, "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/pinterest/dbt_pinterest_source/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": 1658344850.911552}, "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/pinterest/dbt_pinterest_source/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": 1658344850.911895}, "macro.dbt_utils.date_trunc": {"unique_id": "macro.dbt_utils.date_trunc", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.9122949}, "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/pinterest/dbt_pinterest_source/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": 1658344850.91242}, "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/pinterest/dbt_pinterest_source/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": 1658344850.912545}, "macro.dbt_utils.array_construct": {"unique_id": "macro.dbt_utils.array_construct", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.913097}, "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/pinterest/dbt_pinterest_source/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": 1658344850.913339}, "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/pinterest/dbt_pinterest_source/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": 1658344850.913481}, "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/pinterest/dbt_pinterest_source/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": 1658344850.9136121}, "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/pinterest/dbt_pinterest_source/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": 1658344850.913743}, "macro.dbt_utils._is_ephemeral": {"unique_id": "macro.dbt_utils._is_ephemeral", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.914677}, "macro.dbt_utils.array_append": {"unique_id": "macro.dbt_utils.array_append", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.915106}, "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/pinterest/dbt_pinterest_source/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": 1658344850.91524}, "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/pinterest/dbt_pinterest_source/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": 1658344850.915423}, "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/pinterest/dbt_pinterest_source/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": 1658344850.915602}, "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/pinterest/dbt_pinterest_source/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": 1658344850.921103}, "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/pinterest/dbt_pinterest_source/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": 1658344850.921605}, "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/pinterest/dbt_pinterest_source/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": 1658344850.9219148}, "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/pinterest/dbt_pinterest_source/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": 1658344850.9224}, "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/pinterest/dbt_pinterest_source/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": 1658344850.9274628}, "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/pinterest/dbt_pinterest_source/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": 1658344850.9279191}, "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/pinterest/dbt_pinterest_source/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": 1658344850.928389}, "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/pinterest/dbt_pinterest_source/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": 1658344850.928919}, "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/pinterest/dbt_pinterest_source/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": 1658344850.929557}, "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/pinterest/dbt_pinterest_source/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": 1658344850.929943}, "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/pinterest/dbt_pinterest_source/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": 1658344850.930269}, "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/pinterest/dbt_pinterest_source/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": 1658344850.930851}, "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/pinterest/dbt_pinterest_source/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": 1658344850.931075}, "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/pinterest/dbt_pinterest_source/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": 1658344850.931527}, "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/pinterest/dbt_pinterest_source/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": 1658344850.9318159}, "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/pinterest/dbt_pinterest_source/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": 1658344850.9325151}, "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/pinterest/dbt_pinterest_source/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": 1658344850.9328482}, "macro.dbt_utils.test_recency": {"unique_id": "macro.dbt_utils.test_recency", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.933297}, "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/pinterest/dbt_pinterest_source/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": 1658344850.93362}, "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/pinterest/dbt_pinterest_source/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": 1658344850.933998}, "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/pinterest/dbt_pinterest_source/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": 1658344850.934169}, "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/pinterest/dbt_pinterest_source/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": 1658344850.934809}, "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/pinterest/dbt_pinterest_source/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": 1658344850.935328}, "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/pinterest/dbt_pinterest_source/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": 1658344850.935916}, "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/pinterest/dbt_pinterest_source/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": 1658344850.93629}, "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/pinterest/dbt_pinterest_source/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": 1658344850.936762}, "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/pinterest/dbt_pinterest_source/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": 1658344850.93693}, "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/pinterest/dbt_pinterest_source/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": 1658344850.9373188}, "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/pinterest/dbt_pinterest_source/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": 1658344850.937491}, "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/pinterest/dbt_pinterest_source/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": 1658344850.938129}, "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/pinterest/dbt_pinterest_source/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": 1658344850.938763}, "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/pinterest/dbt_pinterest_source/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": 1658344850.9393668}, "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/pinterest/dbt_pinterest_source/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": 1658344850.939701}, "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/pinterest/dbt_pinterest_source/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": 1658344850.940223}, "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/pinterest/dbt_pinterest_source/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": 1658344850.9405088}, "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/pinterest/dbt_pinterest_source/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": 1658344850.9409878}, "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/pinterest/dbt_pinterest_source/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": 1658344850.94149}, "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/pinterest/dbt_pinterest_source/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": 1658344850.9421701}, "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/pinterest/dbt_pinterest_source/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": 1658344850.942945}, "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/pinterest/dbt_pinterest_source/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": 1658344850.943413}, "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/pinterest/dbt_pinterest_source/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": 1658344850.943578}, "macro.dbt_utils.test_equality": {"unique_id": "macro.dbt_utils.test_equality", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.9443352}, "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/pinterest/dbt_pinterest_source/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": 1658344850.94522}, "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/pinterest/dbt_pinterest_source/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": 1658344850.9481852}, "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/pinterest/dbt_pinterest_source/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": 1658344850.94962}, "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/pinterest/dbt_pinterest_source/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": 1658344850.9499562}, "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/pinterest/dbt_pinterest_source/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": 1658344850.950119}, "macro.dbt_utils.pretty_time": {"unique_id": "macro.dbt_utils.pretty_time", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.950453}, "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/pinterest/dbt_pinterest_source/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": 1658344850.950655}, "macro.dbt_utils.log_info": {"unique_id": "macro.dbt_utils.log_info", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.950967}, "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/pinterest/dbt_pinterest_source/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": 1658344850.951137}, "macro.dbt_utils.slugify": {"unique_id": "macro.dbt_utils.slugify", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.9516559}, "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/pinterest/dbt_pinterest_source/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": 1658344850.952391}, "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/pinterest/dbt_pinterest_source/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": 1658344850.952981}, "macro.dbt_utils.date_spine": {"unique_id": "macro.dbt_utils.date_spine", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.953214}, "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/pinterest/dbt_pinterest_source/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": 1658344850.9535701}, "macro.dbt_utils.nullcheck_table": {"unique_id": "macro.dbt_utils.nullcheck_table", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.9539452}, "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/pinterest/dbt_pinterest_source/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": 1658344850.972409}, "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/pinterest/dbt_pinterest_source/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": 1658344850.973282}, "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/pinterest/dbt_pinterest_source/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": 1658344850.974148}, "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/pinterest/dbt_pinterest_source/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": 1658344850.97502}, "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/pinterest/dbt_pinterest_source/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": 1658344850.975438}, "macro.dbt_utils.generate_series": {"unique_id": "macro.dbt_utils.generate_series", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.975625}, "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/pinterest/dbt_pinterest_source/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": 1658344850.976125}, "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/pinterest/dbt_pinterest_source/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": 1658344850.976856}, "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/pinterest/dbt_pinterest_source/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": 1658344850.9776928}, "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/pinterest/dbt_pinterest_source/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": 1658344850.978163}, "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/pinterest/dbt_pinterest_source/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": 1658344850.9784782}, "macro.dbt_utils.star": {"unique_id": "macro.dbt_utils.star", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.97924}, "macro.dbt_utils.default__star": {"unique_id": "macro.dbt_utils.default__star", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.980292}, "macro.dbt_utils.unpivot": {"unique_id": "macro.dbt_utils.unpivot", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.9820118}, "macro.dbt_utils.default__unpivot": {"unique_id": "macro.dbt_utils.default__unpivot", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.984016}, "macro.dbt_utils.union_relations": {"unique_id": "macro.dbt_utils.union_relations", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.9865081}, "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/pinterest/dbt_pinterest_source/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": 1658344850.9894888}, "macro.dbt_utils.group_by": {"unique_id": "macro.dbt_utils.group_by", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.989865}, "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/pinterest/dbt_pinterest_source/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": 1658344850.990117}, "macro.dbt_utils.deduplicate": {"unique_id": "macro.dbt_utils.deduplicate", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.992495}, "macro.dbt_utils.default__deduplicate": {"unique_id": "macro.dbt_utils.default__deduplicate", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.9927108}, "macro.dbt_utils.redshift__deduplicate": {"unique_id": "macro.dbt_utils.redshift__deduplicate", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.992907}, "macro.dbt_utils.postgres__deduplicate": {"unique_id": "macro.dbt_utils.postgres__deduplicate", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.9930959}, "macro.dbt_utils.snowflake__deduplicate": {"unique_id": "macro.dbt_utils.snowflake__deduplicate", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.993255}, "macro.dbt_utils.bigquery__deduplicate": {"unique_id": "macro.dbt_utils.bigquery__deduplicate", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.993424}, "macro.dbt_utils.surrogate_key": {"unique_id": "macro.dbt_utils.surrogate_key", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.994057}, "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/pinterest/dbt_pinterest_source/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": 1658344850.9949791}, "macro.dbt_utils.safe_add": {"unique_id": "macro.dbt_utils.safe_add", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.995418}, "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/pinterest/dbt_pinterest_source/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": 1658344850.995702}, "macro.dbt_utils.nullcheck": {"unique_id": "macro.dbt_utils.nullcheck", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.9961028}, "macro.dbt_utils.default__nullcheck": {"unique_id": "macro.dbt_utils.default__nullcheck", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.996424}, "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/pinterest/dbt_pinterest_source/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": 1658344850.997896}, "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/pinterest/dbt_pinterest_source/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": 1658344850.998163}, "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/pinterest/dbt_pinterest_source/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": 1658344850.9989362}, "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/pinterest/dbt_pinterest_source/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": 1658344850.999448}, "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/pinterest/dbt_pinterest_source/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": 1658344851.000566}, "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/pinterest/dbt_pinterest_source/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": 1658344851.0020769}, "macro.dbt_utils.pivot": {"unique_id": "macro.dbt_utils.pivot", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344851.003158}, "macro.dbt_utils.default__pivot": {"unique_id": "macro.dbt_utils.default__pivot", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344851.0040011}, "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/pinterest/dbt_pinterest_source/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": 1658344851.00453}, "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/pinterest/dbt_pinterest_source/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": 1658344851.0052469}, "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/pinterest/dbt_pinterest_source/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": 1658344851.005697}, "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/pinterest/dbt_pinterest_source/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": 1658344851.006301}, "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/pinterest/dbt_pinterest_source/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": 1658344851.006804}, "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/pinterest/dbt_pinterest_source/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": 1658344851.006888}, "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/pinterest/dbt_pinterest_source/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": 1658344851.006969}, "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/pinterest/dbt_pinterest_source/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": 1658344851.007047}, "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/pinterest/dbt_pinterest_source/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": 1658344851.0080798}, "macro.dbt_utils.haversine_distance": {"unique_id": "macro.dbt_utils.haversine_distance", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344851.008358}, "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/pinterest/dbt_pinterest_source/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": 1658344851.008933}, "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/pinterest/dbt_pinterest_source/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": 1658344851.0097961}, "macro.spark_utils.get_tables": {"unique_id": "macro.spark_utils.get_tables", "package_name": "spark_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344851.0145762}, "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/pinterest/dbt_pinterest_source/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": 1658344851.01527}, "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/pinterest/dbt_pinterest_source/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": 1658344851.016157}, "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/pinterest/dbt_pinterest_source/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": 1658344851.01694}, "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/pinterest/dbt_pinterest_source/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": 1658344851.017712}, "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/pinterest/dbt_pinterest_source/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": 1658344851.018643}, "macro.spark_utils.spark__concat": {"unique_id": "macro.spark_utils.spark__concat", "package_name": "spark_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344851.018898}, "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/pinterest/dbt_pinterest_source/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": 1658344851.019073}, "macro.spark_utils.spark__dateadd": {"unique_id": "macro.spark_utils.spark__dateadd", "package_name": "spark_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344851.021836}, "macro.spark_utils.spark__datediff": {"unique_id": "macro.spark_utils.spark__datediff", "package_name": "spark_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344851.0288389}, "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/pinterest/dbt_pinterest_source/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": 1658344851.02905}, "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/pinterest/dbt_pinterest_source/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": 1658344851.029121}, "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/pinterest/dbt_pinterest_source/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": 1658344851.029734}, "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/pinterest/dbt_pinterest_source/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": 1658344851.0312939}, "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/pinterest/dbt_pinterest_source/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": 1658344851.031631}, "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/pinterest/dbt_pinterest_source/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": 1658344851.0319018}, "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/pinterest/dbt_pinterest_source/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": 1658344851.032171}, "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/pinterest/dbt_pinterest_source/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": 1658344851.032556}, "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/pinterest/dbt_pinterest_source/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": 1658344851.032749}, "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/pinterest/dbt_pinterest_source/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": 1658344851.033014}, "macro.fivetran_utils.enabled_vars": {"unique_id": "macro.fivetran_utils.enabled_vars", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344851.033483}, "macro.fivetran_utils.percentile": {"unique_id": "macro.fivetran_utils.percentile", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344851.0344052}, "macro.fivetran_utils.default__percentile": {"unique_id": "macro.fivetran_utils.default__percentile", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344851.034566}, "macro.fivetran_utils.redshift__percentile": {"unique_id": "macro.fivetran_utils.redshift__percentile", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344851.0347269}, "macro.fivetran_utils.bigquery__percentile": {"unique_id": "macro.fivetran_utils.bigquery__percentile", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344851.034886}, "macro.fivetran_utils.postgres__percentile": {"unique_id": "macro.fivetran_utils.postgres__percentile", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344851.035029}, "macro.fivetran_utils.spark__percentile": {"unique_id": "macro.fivetran_utils.spark__percentile", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344851.0351858}, "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/pinterest/dbt_pinterest_source/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": 1658344851.035681}, "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/pinterest/dbt_pinterest_source/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) %}\n\n{% if var(pass_through_variable, none) %}\n {% for field in var(pass_through_variable) %}\n , {{ 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": 1658344851.036184}, "macro.fivetran_utils.json_parse": {"unique_id": "macro.fivetran_utils.json_parse", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344851.037257}, "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/pinterest/dbt_pinterest_source/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": 1658344851.037503}, "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/pinterest/dbt_pinterest_source/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": 1658344851.037744}, "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/pinterest/dbt_pinterest_source/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": 1658344851.0379798}, "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/pinterest/dbt_pinterest_source/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": 1658344851.038213}, "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/pinterest/dbt_pinterest_source/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": 1658344851.038475}, "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/pinterest/dbt_pinterest_source/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": 1658344851.038732}, "macro.fivetran_utils.max_bool": {"unique_id": "macro.fivetran_utils.max_bool", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344851.03911}, "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/pinterest/dbt_pinterest_source/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": 1658344851.039209}, "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/pinterest/dbt_pinterest_source/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": 1658344851.039309}, "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/pinterest/dbt_pinterest_source/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": 1658344851.039406}, "macro.fivetran_utils.calculated_fields": {"unique_id": "macro.fivetran_utils.calculated_fields", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344851.039835}, "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/pinterest/dbt_pinterest_source/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": 1658344851.040462}, "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/pinterest/dbt_pinterest_source/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": 1658344851.041116}, "macro.fivetran_utils.string_agg": {"unique_id": "macro.fivetran_utils.string_agg", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344851.041631}, "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/pinterest/dbt_pinterest_source/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": 1658344851.041759}, "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/pinterest/dbt_pinterest_source/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": 1658344851.041885}, "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/pinterest/dbt_pinterest_source/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": 1658344851.04201}, "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/pinterest/dbt_pinterest_source/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": 1658344851.042145}, "macro.fivetran_utils.timestamp_diff": {"unique_id": "macro.fivetran_utils.timestamp_diff", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344851.0449028}, "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/pinterest/dbt_pinterest_source/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": 1658344851.045063}, "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/pinterest/dbt_pinterest_source/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": 1658344851.045227}, "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/pinterest/dbt_pinterest_source/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": 1658344851.045377}, "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/pinterest/dbt_pinterest_source/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": 1658344851.047057}, "macro.fivetran_utils.try_cast": {"unique_id": "macro.fivetran_utils.try_cast", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344851.047914}, "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/pinterest/dbt_pinterest_source/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": 1658344851.0480509}, "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/pinterest/dbt_pinterest_source/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": 1658344851.048322}, "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/pinterest/dbt_pinterest_source/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": 1658344851.048602}, "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/pinterest/dbt_pinterest_source/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": 1658344851.0487309}, "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/pinterest/dbt_pinterest_source/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": 1658344851.048856}, "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/pinterest/dbt_pinterest_source/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": 1658344851.048975}, "macro.fivetran_utils.source_relation": {"unique_id": "macro.fivetran_utils.source_relation", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344851.049512}, "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/pinterest/dbt_pinterest_source/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": 1658344851.05008}, "macro.fivetran_utils.first_value": {"unique_id": "macro.fivetran_utils.first_value", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344851.0506392}, "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/pinterest/dbt_pinterest_source/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": 1658344851.050838}, "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/pinterest/dbt_pinterest_source/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": 1658344851.051054}, "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/pinterest/dbt_pinterest_source/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": 1658344851.0513852}, "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/pinterest/dbt_pinterest_source/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": 1658344851.052325}, "macro.fivetran_utils.union_relations": {"unique_id": "macro.fivetran_utils.union_relations", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344851.05616}, "macro.fivetran_utils.union_tables": {"unique_id": "macro.fivetran_utils.union_tables", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344851.056515}, "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/pinterest/dbt_pinterest_source/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": 1658344851.056962}, "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/pinterest/dbt_pinterest_source/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": 1658344851.058511}, "macro.fivetran_utils.quote_column": {"unique_id": "macro.fivetran_utils.quote_column", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344851.059062}, "macro.fivetran_utils.json_extract": {"unique_id": "macro.fivetran_utils.json_extract", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344851.059659}, "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/pinterest/dbt_pinterest_source/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": 1658344851.059813}, "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/pinterest/dbt_pinterest_source/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": 1658344851.059962}, "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/pinterest/dbt_pinterest_source/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": 1658344851.060129}, "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/pinterest/dbt_pinterest_source/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": 1658344851.0602791}, "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/pinterest/dbt_pinterest_source/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": 1658344851.060422}, "macro.fivetran_utils.collect_freshness": {"unique_id": "macro.fivetran_utils.collect_freshness", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344851.061165}, "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/pinterest/dbt_pinterest_source/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": 1658344851.06213}, "macro.fivetran_utils.timestamp_add": {"unique_id": "macro.fivetran_utils.timestamp_add", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344851.062845}, "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/pinterest/dbt_pinterest_source/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": 1658344851.0630112}, "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/pinterest/dbt_pinterest_source/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": 1658344851.063164}, "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/pinterest/dbt_pinterest_source/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": 1658344851.063321}, "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/pinterest/dbt_pinterest_source/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": 1658344851.063471}, "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/pinterest/dbt_pinterest_source/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": 1658344851.063642}, "macro.fivetran_utils.ceiling": {"unique_id": "macro.fivetran_utils.ceiling", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344851.063951}, "macro.fivetran_utils.default__ceiling": {"unique_id": "macro.fivetran_utils.default__ceiling", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344851.0641122}, "macro.fivetran_utils.snowflake__ceiling": {"unique_id": "macro.fivetran_utils.snowflake__ceiling", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344851.0642078}, "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/pinterest/dbt_pinterest_source/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": 1658344851.064898}, "macro.fivetran_utils.union_data": {"unique_id": "macro.fivetran_utils.union_data", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344851.066135}, "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/pinterest/dbt_pinterest_source/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": 1658344851.067863}, "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/pinterest/dbt_pinterest_source/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": 1658344851.069324}, "macro.fivetran_utils.array_agg": {"unique_id": "macro.fivetran_utils.array_agg", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344851.069651}, "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/pinterest/dbt_pinterest_source/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": 1658344851.0697541}, "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/pinterest/dbt_pinterest_source/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": 1658344851.069851}, "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/pinterest/dbt_pinterest_source/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": 1658344851.070303}, "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/pinterest/dbt_pinterest_source/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": 1658344851.070754}, "macro.pinterest_source.get_ad_group_history_columns": {"unique_id": "macro.pinterest_source.get_ad_group_history_columns", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "macros/get_ad_group_history_columns.sql", "original_file_path": "macros/get_ad_group_history_columns.sql", "name": "get_ad_group_history_columns", "macro_sql": "{% macro get_ad_group_history_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"campaign_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"created_time\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"end_time\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"name\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"start_time\", \"datatype\": dbt_utils.type_timestamp()},\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_string"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1658344851.071777}, "macro.pinterest_source.get_pin_promotion_history_columns": {"unique_id": "macro.pinterest_source.get_pin_promotion_history_columns", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "macros/get_pin_promotion_history_columns.sql", "original_file_path": "macros/get_pin_promotion_history_columns.sql", "name": "get_pin_promotion_history_columns", "macro_sql": "{% macro get_pin_promotion_history_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"ad_group_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"android_deep_link\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"click_tracking_url\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"created_time\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"creative_type\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"destination_url\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"ios_deep_link\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"is_pin_deleted\", \"datatype\": \"boolean\"},\n {\"name\": \"is_removable\", \"datatype\": \"boolean\"},\n {\"name\": \"name\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"pin_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"review_status\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"status\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"updated_time\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"view_tracking_url\", \"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_string"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1658344851.073743}, "macro.pinterest_source.get_keyword_report_columns": {"unique_id": "macro.pinterest_source.get_keyword_report_columns", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "macros/get_keyword_report_columns.sql", "original_file_path": "macros/get_keyword_report_columns.sql", "name": "get_keyword_report_columns", "macro_sql": "{% macro get_keyword_report_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"ad_group_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"ad_group_name\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"ad_group_status\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"advertiser_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"campaign_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"clickthrough_1\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"clickthrough_2\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"date\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"impression_1\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"impression_2\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"keyword_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"pin_promotion_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"spend_in_micro_dollar\", \"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_string", "macro.dbt_utils.type_int"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1658344851.075392}, "macro.pinterest_source.get_pin_promotion_report_columns": {"unique_id": "macro.pinterest_source.get_pin_promotion_report_columns", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "macros/get_pin_promotion_report_columns.sql", "original_file_path": "macros/get_pin_promotion_report_columns.sql", "name": "get_pin_promotion_report_columns", "macro_sql": "{% macro get_pin_promotion_report_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"ad_group_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"advertiser_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"campaign_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"clickthrough_1\", \"datatype\": dbt_utils.type_numeric()},\n {\"name\": \"clickthrough_2\", \"datatype\": dbt_utils.type_numeric()},\n {\"name\": \"date\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"impression_1\", \"datatype\": dbt_utils.type_numeric()},\n {\"name\": \"impression_2\", \"datatype\": dbt_utils.type_numeric()},\n {\"name\": \"pin_promotion_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"spend_in_micro_dollar\", \"datatype\": dbt_utils.type_numeric()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.type_timestamp", "macro.dbt_utils.type_string", "macro.dbt_utils.type_numeric"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1658344851.076728}, "macro.pinterest_source.get_campaign_report_columns": {"unique_id": "macro.pinterest_source.get_campaign_report_columns", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "macros/get_campaign_report_columns.sql", "original_file_path": "macros/get_campaign_report_columns.sql", "name": "get_campaign_report_columns", "macro_sql": "{% macro get_campaign_report_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"advertiser_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"campaign_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"campaign_name\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"campaign_status\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"clickthrough_1\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"clickthrough_2\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"date\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"impression_1\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"impression_2\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"spend_in_micro_dollar\", \"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_string", "macro.dbt_utils.type_int"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1658344851.078069}, "macro.pinterest_source.get_campaign_history_columns": {"unique_id": "macro.pinterest_source.get_campaign_history_columns", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_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\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"created_time\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"advertiser_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"name\", \"datatype\": dbt_utils.type_string()},\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_string"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1658344851.078918}, "macro.pinterest_source.get_advertiser_history_columns": {"unique_id": "macro.pinterest_source.get_advertiser_history_columns", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "macros/get_advertiser_history_columns.sql", "original_file_path": "macros/get_advertiser_history_columns.sql", "name": "get_advertiser_history_columns", "macro_sql": "{% macro get_advertiser_history_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"billing_profile_status\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"billing_type\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"country\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"created_time\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"currency\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"merchant_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"name\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"owner_user_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"status\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"updated_time\", \"datatype\": dbt_utils.type_timestamp()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.type_timestamp", "macro.dbt_utils.type_string"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1658344851.080332}, "macro.pinterest_source.get_ad_group_report_columns": {"unique_id": "macro.pinterest_source.get_ad_group_report_columns", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "macros/get_ad_group_report_columns.sql", "original_file_path": "macros/get_ad_group_report_columns.sql", "name": "get_ad_group_report_columns", "macro_sql": "{% macro get_ad_group_report_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"ad_group_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"ad_group_name\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"ad_group_status\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"advertiser_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"campaign_id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"clickthrough_1\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"clickthrough_2\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"date\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"impression_1\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"impression_2\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"spend_in_micro_dollar\", \"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_string", "macro.dbt_utils.type_int"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1658344851.0817862}, "macro.pinterest_source.get_keyword_history_columns": {"unique_id": "macro.pinterest_source.get_keyword_history_columns", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "macros/get_keyword_history_columns.sql", "original_file_path": "macros/get_keyword_history_columns.sql", "name": "get_keyword_history_columns", "macro_sql": "{% macro get_keyword_history_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"ad_group_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"advertiser_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"archived\", \"datatype\": \"boolean\"},\n {\"name\": \"bid\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"campaign_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"match_type\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"parent_type\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"value\", \"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": 1658344851.0830898}, "macro.pinterest_source.get_advertiser_report_columns": {"unique_id": "macro.pinterest_source.get_advertiser_report_columns", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "macros/get_advertiser_report_columns.sql", "original_file_path": "macros/get_advertiser_report_columns.sql", "name": "get_advertiser_report_columns", "macro_sql": "{% macro get_advertiser_report_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"advertiser_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"clickthrough_1\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"clickthrough_2\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"date\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"impression_1\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"impression_2\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"spend_in_micro_dollar\", \"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_string", "macro.dbt_utils.type_int"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1658344851.084125}}, "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"}, "pinterest_source._fivetran_synced": {"unique_id": "pinterest_source._fivetran_synced", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "_fivetran_synced", "block_contents": "Timestamp of when a record was last synced."}, "pinterest_source.is_most_recent_record": {"unique_id": "pinterest_source.is_most_recent_record", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "is_most_recent_record", "block_contents": "Boolean representing whether the record is the most recent version of the object."}, "pinterest_source.date_day": {"unique_id": "pinterest_source.date_day", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "date_day", "block_contents": "The performance date of the record."}, "pinterest_source.ad_group_id": {"unique_id": "pinterest_source.ad_group_id", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "ad_group_id", "block_contents": "The ID of the related Ad group."}, "pinterest_source.pin_promotion_id": {"unique_id": "pinterest_source.pin_promotion_id", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "pin_promotion_id", "block_contents": "The ID of the related Pin promotion."}, "pinterest_source.campaign_id": {"unique_id": "pinterest_source.campaign_id", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "campaign_id", "block_contents": "The ID of the related Campaign."}, "pinterest_source.advertiser_id": {"unique_id": "pinterest_source.advertiser_id", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "advertiser_id", "block_contents": "The ID of the related Advertiser."}, "pinterest_source.impressions": {"unique_id": "pinterest_source.impressions", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "impressions", "block_contents": "The number of paid and earned impressions that occurred on the day of the record."}, "pinterest_source.clicks": {"unique_id": "pinterest_source.clicks", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "clicks", "block_contents": "The number of paid and earned clicks that occurred on the day of the record."}, "pinterest_source.spend": {"unique_id": "pinterest_source.spend", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "spend", "block_contents": "The amount of spend that occurred on the day of the record."}, "pinterest_source.updated_at": {"unique_id": "pinterest_source.updated_at", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "updated_at", "block_contents": "Timestamp of when a record was last updated."}, "pinterest_source.created_at": {"unique_id": "pinterest_source.created_at", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "created_at", "block_contents": "Timestamp of when a record was created."}, "pinterest_source.spend_in_micro_dollar": {"unique_id": "pinterest_source.spend_in_micro_dollar", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "spend_in_micro_dollar", "block_contents": "The amount of spend in micro dollars that occurred on the day of the record."}, "pinterest_source.clickthrough_1": {"unique_id": "pinterest_source.clickthrough_1", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "clickthrough_1", "block_contents": "The number of paid pin clicks that occurred on the day of the record."}, "pinterest_source.clickthrough_2": {"unique_id": "pinterest_source.clickthrough_2", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "clickthrough_2", "block_contents": "The number of earned outbound clicks that occurred on the day of the record."}, "pinterest_source.impression_1": {"unique_id": "pinterest_source.impression_1", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "impression_1", "block_contents": "The number of paid pin impressions that occurred on the day of the record."}, "pinterest_source.impression_2": {"unique_id": "pinterest_source.impression_2", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "impression_2", "block_contents": "The number of earned pin impressions that occurred on the day of the record."}}, "exposures": {}, "metrics": {}, "selectors": {}, "disabled": {}, "parent_map": {"seed.pinterest_source_integration_tests.ad_group_report_data": [], "seed.pinterest_source_integration_tests.keyword_report_data": [], "seed.pinterest_source_integration_tests.pin_promotion_history_data": [], "seed.pinterest_source_integration_tests.advertiser_history_data": [], "seed.pinterest_source_integration_tests.advertiser_report_data": [], "seed.pinterest_source_integration_tests.ad_group_history_data": [], "seed.pinterest_source_integration_tests.campaign_history_data": [], "seed.pinterest_source_integration_tests.campaign_report_data": [], "seed.pinterest_source_integration_tests.keyword_history_data": [], "seed.pinterest_source_integration_tests.pin_promotion_report_data": [], "model.pinterest_source.stg_pinterest_ads__pin_promotion_history": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_history_tmp", "model.pinterest_source.stg_pinterest_ads__pin_promotion_history_tmp"], "model.pinterest_source.stg_pinterest_ads__keyword_report": ["model.pinterest_source.stg_pinterest_ads__keyword_report_tmp", "model.pinterest_source.stg_pinterest_ads__keyword_report_tmp"], "model.pinterest_source.stg_pinterest_ads__ad_group_report": ["model.pinterest_source.stg_pinterest_ads__ad_group_report_tmp", "model.pinterest_source.stg_pinterest_ads__ad_group_report_tmp"], "model.pinterest_source.stg_pinterest_ads__campaign_history": ["model.pinterest_source.stg_pinterest_ads__campaign_history_tmp", "model.pinterest_source.stg_pinterest_ads__campaign_history_tmp"], "model.pinterest_source.stg_pinterest_ads__advertiser_report": ["model.pinterest_source.stg_pinterest_ads__advertiser_report_tmp", "model.pinterest_source.stg_pinterest_ads__advertiser_report_tmp"], "model.pinterest_source.stg_pinterest_ads__advertiser_history": ["model.pinterest_source.stg_pinterest_ads__advertiser_history_tmp", "model.pinterest_source.stg_pinterest_ads__advertiser_history_tmp"], "model.pinterest_source.stg_pinterest_ads__campaign_report": ["model.pinterest_source.stg_pinterest_ads__campaign_report_tmp", "model.pinterest_source.stg_pinterest_ads__campaign_report_tmp"], "model.pinterest_source.stg_pinterest_ads__keyword_history": ["model.pinterest_source.stg_pinterest_ads__keyword_history_tmp", "model.pinterest_source.stg_pinterest_ads__keyword_history_tmp"], "model.pinterest_source.stg_pinterest_ads__pin_promotion_report": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_report_tmp", "model.pinterest_source.stg_pinterest_ads__pin_promotion_report_tmp"], "model.pinterest_source.stg_pinterest_ads__ad_group_history": ["model.pinterest_source.stg_pinterest_ads__ad_group_history_tmp", "model.pinterest_source.stg_pinterest_ads__ad_group_history_tmp"], "model.pinterest_source.stg_pinterest_ads__advertiser_history_tmp": ["source.pinterest_source.pinterest_ads.advertiser_history"], "model.pinterest_source.stg_pinterest_ads__pin_promotion_report_tmp": ["source.pinterest_source.pinterest_ads.pin_promotion_report"], "model.pinterest_source.stg_pinterest_ads__campaign_report_tmp": ["source.pinterest_source.pinterest_ads.campaign_report"], "model.pinterest_source.stg_pinterest_ads__advertiser_report_tmp": ["source.pinterest_source.pinterest_ads.advertiser_report"], "model.pinterest_source.stg_pinterest_ads__keyword_report_tmp": ["source.pinterest_source.pinterest_ads.keyword_report"], "model.pinterest_source.stg_pinterest_ads__ad_group_report_tmp": ["source.pinterest_source.pinterest_ads.ad_group_report"], "model.pinterest_source.stg_pinterest_ads__keyword_history_tmp": ["source.pinterest_source.pinterest_ads.keyword_history"], "model.pinterest_source.stg_pinterest_ads__campaign_history_tmp": ["source.pinterest_source.pinterest_ads.campaign_history"], "model.pinterest_source.stg_pinterest_ads__ad_group_history_tmp": ["source.pinterest_source.pinterest_ads.ad_group_history"], "model.pinterest_source.stg_pinterest_ads__pin_promotion_history_tmp": ["source.pinterest_source.pinterest_ads.pin_promotion_history"], "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_history_ad_group_id.220c6220be": ["model.pinterest_source.stg_pinterest_ads__ad_group_history"], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_history_ad_group_id___fivetran_synced.1132e1f339": ["model.pinterest_source.stg_pinterest_ads__ad_group_history"], "test.pinterest_source.not_null_stg_pinterest_ads__campaign_history_campaign_id.60cb10d341": ["model.pinterest_source.stg_pinterest_ads__campaign_history"], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_history_campaign_id___fivetran_synced.eff7196b87": ["model.pinterest_source.stg_pinterest_ads__campaign_history"], "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_history_pin_promotion_id.171995cd34": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_history"], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_history__fivetran_synced__pin_promotion_id.8e9ab31ea9": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_history"], "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_report_date_day.ed272212a1": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_report"], "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_report_pin_promotion_id.9c3c9f71ab": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_report"], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_report_date_day__pin_promotion_id__ad_group_id__campaign_id__advertiser_id.7ea04e6024": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_report"], "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_report_date_day.80e8904c4c": ["model.pinterest_source.stg_pinterest_ads__ad_group_report"], "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_report_ad_group_id.bb8cf3c471": ["model.pinterest_source.stg_pinterest_ads__ad_group_report"], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_report_date_day__ad_group_id__campaign_id__advertiser_id.3800c02b0e": ["model.pinterest_source.stg_pinterest_ads__ad_group_report"], "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_history_advertiser_id.7d24f665fb": ["model.pinterest_source.stg_pinterest_ads__advertiser_history"], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_history_updated_at__advertiser_id.94e8f4de4b": ["model.pinterest_source.stg_pinterest_ads__advertiser_history"], "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_report_date_day.153bd03c95": ["model.pinterest_source.stg_pinterest_ads__advertiser_report"], "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_report_advertiser_id.1b16ed73ff": ["model.pinterest_source.stg_pinterest_ads__advertiser_report"], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_report_date_day__advertiser_id.e92ce8a9c0": ["model.pinterest_source.stg_pinterest_ads__advertiser_report"], "test.pinterest_source.not_null_stg_pinterest_ads__campaign_report_date_day.7ef5fb1238": ["model.pinterest_source.stg_pinterest_ads__campaign_report"], "test.pinterest_source.not_null_stg_pinterest_ads__campaign_report_campaign_id.a287eba0fc": ["model.pinterest_source.stg_pinterest_ads__campaign_report"], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_report_date_day__campaign_id__advertiser_id.ff47cb8abc": ["model.pinterest_source.stg_pinterest_ads__campaign_report"], "test.pinterest_source.not_null_stg_pinterest_ads__keyword_history_keyword_id.246889377a": ["model.pinterest_source.stg_pinterest_ads__keyword_history"], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_history_keyword_id__ad_group_id___fivetran_synced.d122faa877": ["model.pinterest_source.stg_pinterest_ads__keyword_history"], "test.pinterest_source.not_null_stg_pinterest_ads__keyword_report_date_day.9937216300": ["model.pinterest_source.stg_pinterest_ads__keyword_report"], "test.pinterest_source.not_null_stg_pinterest_ads__keyword_report_keyword_id.5f00679c48": ["model.pinterest_source.stg_pinterest_ads__keyword_report"], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_report_date_day__keyword_id__ad_group_id__campaign_id__advertiser_id.3ac101cc13": ["model.pinterest_source.stg_pinterest_ads__keyword_report"], "source.pinterest_source.pinterest_ads.pin_promotion_report": [], "source.pinterest_source.pinterest_ads.pin_promotion_history": [], "source.pinterest_source.pinterest_ads.campaign_history": [], "source.pinterest_source.pinterest_ads.ad_group_history": [], "source.pinterest_source.pinterest_ads.ad_group_report": [], "source.pinterest_source.pinterest_ads.advertiser_history": [], "source.pinterest_source.pinterest_ads.advertiser_report": [], "source.pinterest_source.pinterest_ads.campaign_report": [], "source.pinterest_source.pinterest_ads.keyword_history": [], "source.pinterest_source.pinterest_ads.keyword_report": []}, "child_map": {"seed.pinterest_source_integration_tests.ad_group_report_data": [], "seed.pinterest_source_integration_tests.keyword_report_data": [], "seed.pinterest_source_integration_tests.pin_promotion_history_data": [], "seed.pinterest_source_integration_tests.advertiser_history_data": [], "seed.pinterest_source_integration_tests.advertiser_report_data": [], "seed.pinterest_source_integration_tests.ad_group_history_data": [], "seed.pinterest_source_integration_tests.campaign_history_data": [], "seed.pinterest_source_integration_tests.campaign_report_data": [], "seed.pinterest_source_integration_tests.keyword_history_data": [], "seed.pinterest_source_integration_tests.pin_promotion_report_data": [], "model.pinterest_source.stg_pinterest_ads__pin_promotion_history": ["test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_history__fivetran_synced__pin_promotion_id.8e9ab31ea9", "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_history_pin_promotion_id.171995cd34"], "model.pinterest_source.stg_pinterest_ads__keyword_report": ["test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_report_date_day__keyword_id__ad_group_id__campaign_id__advertiser_id.3ac101cc13", "test.pinterest_source.not_null_stg_pinterest_ads__keyword_report_date_day.9937216300", "test.pinterest_source.not_null_stg_pinterest_ads__keyword_report_keyword_id.5f00679c48"], "model.pinterest_source.stg_pinterest_ads__ad_group_report": ["test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_report_date_day__ad_group_id__campaign_id__advertiser_id.3800c02b0e", "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_report_ad_group_id.bb8cf3c471", "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_report_date_day.80e8904c4c"], "model.pinterest_source.stg_pinterest_ads__campaign_history": ["test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_history_campaign_id___fivetran_synced.eff7196b87", "test.pinterest_source.not_null_stg_pinterest_ads__campaign_history_campaign_id.60cb10d341"], "model.pinterest_source.stg_pinterest_ads__advertiser_report": ["test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_report_date_day__advertiser_id.e92ce8a9c0", "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_report_advertiser_id.1b16ed73ff", "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_report_date_day.153bd03c95"], "model.pinterest_source.stg_pinterest_ads__advertiser_history": ["test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_history_updated_at__advertiser_id.94e8f4de4b", "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_history_advertiser_id.7d24f665fb"], "model.pinterest_source.stg_pinterest_ads__campaign_report": ["test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_report_date_day__campaign_id__advertiser_id.ff47cb8abc", "test.pinterest_source.not_null_stg_pinterest_ads__campaign_report_campaign_id.a287eba0fc", "test.pinterest_source.not_null_stg_pinterest_ads__campaign_report_date_day.7ef5fb1238"], "model.pinterest_source.stg_pinterest_ads__keyword_history": ["test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_history_keyword_id__ad_group_id___fivetran_synced.d122faa877", "test.pinterest_source.not_null_stg_pinterest_ads__keyword_history_keyword_id.246889377a"], "model.pinterest_source.stg_pinterest_ads__pin_promotion_report": ["test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_report_date_day__pin_promotion_id__ad_group_id__campaign_id__advertiser_id.7ea04e6024", "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_report_date_day.ed272212a1", "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_report_pin_promotion_id.9c3c9f71ab"], "model.pinterest_source.stg_pinterest_ads__ad_group_history": ["test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_history_ad_group_id___fivetran_synced.1132e1f339", "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_history_ad_group_id.220c6220be"], "model.pinterest_source.stg_pinterest_ads__advertiser_history_tmp": ["model.pinterest_source.stg_pinterest_ads__advertiser_history", "model.pinterest_source.stg_pinterest_ads__advertiser_history"], "model.pinterest_source.stg_pinterest_ads__pin_promotion_report_tmp": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_report", "model.pinterest_source.stg_pinterest_ads__pin_promotion_report"], "model.pinterest_source.stg_pinterest_ads__campaign_report_tmp": ["model.pinterest_source.stg_pinterest_ads__campaign_report", "model.pinterest_source.stg_pinterest_ads__campaign_report"], "model.pinterest_source.stg_pinterest_ads__advertiser_report_tmp": ["model.pinterest_source.stg_pinterest_ads__advertiser_report", "model.pinterest_source.stg_pinterest_ads__advertiser_report"], "model.pinterest_source.stg_pinterest_ads__keyword_report_tmp": ["model.pinterest_source.stg_pinterest_ads__keyword_report", "model.pinterest_source.stg_pinterest_ads__keyword_report"], "model.pinterest_source.stg_pinterest_ads__ad_group_report_tmp": ["model.pinterest_source.stg_pinterest_ads__ad_group_report", "model.pinterest_source.stg_pinterest_ads__ad_group_report"], "model.pinterest_source.stg_pinterest_ads__keyword_history_tmp": ["model.pinterest_source.stg_pinterest_ads__keyword_history", "model.pinterest_source.stg_pinterest_ads__keyword_history"], "model.pinterest_source.stg_pinterest_ads__campaign_history_tmp": ["model.pinterest_source.stg_pinterest_ads__campaign_history", "model.pinterest_source.stg_pinterest_ads__campaign_history"], "model.pinterest_source.stg_pinterest_ads__ad_group_history_tmp": ["model.pinterest_source.stg_pinterest_ads__ad_group_history", "model.pinterest_source.stg_pinterest_ads__ad_group_history"], "model.pinterest_source.stg_pinterest_ads__pin_promotion_history_tmp": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_history", "model.pinterest_source.stg_pinterest_ads__pin_promotion_history"], "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_history_ad_group_id.220c6220be": [], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_history_ad_group_id___fivetran_synced.1132e1f339": [], "test.pinterest_source.not_null_stg_pinterest_ads__campaign_history_campaign_id.60cb10d341": [], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_history_campaign_id___fivetran_synced.eff7196b87": [], "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_history_pin_promotion_id.171995cd34": [], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_history__fivetran_synced__pin_promotion_id.8e9ab31ea9": [], "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_report_date_day.ed272212a1": [], "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_report_pin_promotion_id.9c3c9f71ab": [], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_report_date_day__pin_promotion_id__ad_group_id__campaign_id__advertiser_id.7ea04e6024": [], "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_report_date_day.80e8904c4c": [], "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_report_ad_group_id.bb8cf3c471": [], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_report_date_day__ad_group_id__campaign_id__advertiser_id.3800c02b0e": [], "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_history_advertiser_id.7d24f665fb": [], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_history_updated_at__advertiser_id.94e8f4de4b": [], "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_report_date_day.153bd03c95": [], "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_report_advertiser_id.1b16ed73ff": [], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_report_date_day__advertiser_id.e92ce8a9c0": [], "test.pinterest_source.not_null_stg_pinterest_ads__campaign_report_date_day.7ef5fb1238": [], "test.pinterest_source.not_null_stg_pinterest_ads__campaign_report_campaign_id.a287eba0fc": [], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_report_date_day__campaign_id__advertiser_id.ff47cb8abc": [], "test.pinterest_source.not_null_stg_pinterest_ads__keyword_history_keyword_id.246889377a": [], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_history_keyword_id__ad_group_id___fivetran_synced.d122faa877": [], "test.pinterest_source.not_null_stg_pinterest_ads__keyword_report_date_day.9937216300": [], "test.pinterest_source.not_null_stg_pinterest_ads__keyword_report_keyword_id.5f00679c48": [], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_report_date_day__keyword_id__ad_group_id__campaign_id__advertiser_id.3ac101cc13": [], "source.pinterest_source.pinterest_ads.pin_promotion_report": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_report_tmp"], "source.pinterest_source.pinterest_ads.pin_promotion_history": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_history_tmp"], "source.pinterest_source.pinterest_ads.campaign_history": ["model.pinterest_source.stg_pinterest_ads__campaign_history_tmp"], "source.pinterest_source.pinterest_ads.ad_group_history": ["model.pinterest_source.stg_pinterest_ads__ad_group_history_tmp"], "source.pinterest_source.pinterest_ads.ad_group_report": ["model.pinterest_source.stg_pinterest_ads__ad_group_report_tmp"], "source.pinterest_source.pinterest_ads.advertiser_history": ["model.pinterest_source.stg_pinterest_ads__advertiser_history_tmp"], "source.pinterest_source.pinterest_ads.advertiser_report": ["model.pinterest_source.stg_pinterest_ads__advertiser_report_tmp"], "source.pinterest_source.pinterest_ads.campaign_report": ["model.pinterest_source.stg_pinterest_ads__campaign_report_tmp"], "source.pinterest_source.pinterest_ads.keyword_history": ["model.pinterest_source.stg_pinterest_ads__keyword_history_tmp"], "source.pinterest_source.pinterest_ads.keyword_report": ["model.pinterest_source.stg_pinterest_ads__keyword_report_tmp"]}} \ No newline at end of file diff --git a/docs/run_results.json b/docs/run_results.json index 207637c..6c811b6 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-07-20T15:53:17.068847Z", "invocation_id": "054d9dd6-c78c-4076-aa46-85ad14890e03", "env": {}}, "results": [{"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T15:53:15.910346Z", "completed_at": "2022-07-20T15:53:15.922141Z"}, {"name": "execute", "started_at": "2022-07-20T15:53:15.923300Z", "completed_at": "2022-07-20T15:53:15.923313Z"}], "thread_id": "Thread-3", "execution_time": 0.014761924743652344, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__advertiser_history_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T15:53:15.910144Z", "completed_at": "2022-07-20T15:53:15.922012Z"}, {"name": "execute", "started_at": "2022-07-20T15:53:15.923463Z", "completed_at": "2022-07-20T15:53:15.923469Z"}], "thread_id": "Thread-1", "execution_time": 0.015462160110473633, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__ad_group_history_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T15:53:15.910439Z", "completed_at": "2022-07-20T15:53:15.923174Z"}, {"name": "execute", "started_at": "2022-07-20T15:53:15.924422Z", "completed_at": "2022-07-20T15:53:15.924427Z"}], "thread_id": "Thread-4", "execution_time": 0.015619993209838867, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__advertiser_report_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T15:53:15.910250Z", "completed_at": "2022-07-20T15:53:15.922250Z"}, {"name": "execute", "started_at": "2022-07-20T15:53:15.924523Z", "completed_at": "2022-07-20T15:53:15.924527Z"}], "thread_id": "Thread-2", "execution_time": 0.016190290451049805, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__ad_group_report_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T15:53:15.926724Z", "completed_at": "2022-07-20T15:53:15.935893Z"}, {"name": "execute", "started_at": "2022-07-20T15:53:15.936573Z", "completed_at": "2022-07-20T15:53:15.936579Z"}], "thread_id": "Thread-1", "execution_time": 0.01141667366027832, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__campaign_report_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T15:53:15.926639Z", "completed_at": "2022-07-20T15:53:15.936003Z"}, {"name": "execute", "started_at": "2022-07-20T15:53:15.936657Z", "completed_at": "2022-07-20T15:53:15.936662Z"}], "thread_id": "Thread-3", "execution_time": 0.011871099472045898, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__campaign_history_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T15:53:15.931552Z", "completed_at": "2022-07-20T15:53:15.936425Z"}, {"name": "execute", "started_at": "2022-07-20T15:53:15.937414Z", "completed_at": "2022-07-20T15:53:15.937420Z"}], "thread_id": "Thread-4", "execution_time": 0.011736154556274414, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__keyword_history_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T15:53:15.931664Z", "completed_at": "2022-07-20T15:53:15.936483Z"}, {"name": "execute", "started_at": "2022-07-20T15:53:15.937514Z", "completed_at": "2022-07-20T15:53:15.937517Z"}], "thread_id": "Thread-2", "execution_time": 0.01175689697265625, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__keyword_report_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T15:53:15.943689Z", "completed_at": "2022-07-20T15:53:15.946718Z"}, {"name": "execute", "started_at": "2022-07-20T15:53:15.947322Z", "completed_at": "2022-07-20T15:53:15.947328Z"}], "thread_id": "Thread-4", "execution_time": 0.008558988571166992, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.pinterest_source_integration_tests.ad_group_history_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T15:53:15.943797Z", "completed_at": "2022-07-20T15:53:15.946808Z"}, {"name": "execute", "started_at": "2022-07-20T15:53:15.947395Z", "completed_at": "2022-07-20T15:53:15.947398Z"}], "thread_id": "Thread-2", "execution_time": 0.008583307266235352, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.pinterest_source_integration_tests.ad_group_report_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T15:53:15.939481Z", "completed_at": "2022-07-20T15:53:15.946870Z"}, {"name": "execute", "started_at": "2022-07-20T15:53:15.947465Z", "completed_at": "2022-07-20T15:53:15.947467Z"}], "thread_id": "Thread-3", "execution_time": 0.009491920471191406, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__pin_promotion_report_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T15:53:15.939404Z", "completed_at": "2022-07-20T15:53:15.946938Z"}, {"name": "execute", "started_at": "2022-07-20T15:53:15.947535Z", "completed_at": "2022-07-20T15:53:15.947538Z"}], "thread_id": "Thread-1", "execution_time": 0.009790182113647461, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__pin_promotion_history_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T15:53:15.949500Z", "completed_at": "2022-07-20T15:53:15.953050Z"}, {"name": "execute", "started_at": "2022-07-20T15:53:15.953580Z", "completed_at": "2022-07-20T15:53:15.953584Z"}], "thread_id": "Thread-4", "execution_time": 0.005135059356689453, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.pinterest_source_integration_tests.advertiser_history_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T15:53:15.949566Z", "completed_at": "2022-07-20T15:53:15.953123Z"}, {"name": "execute", "started_at": "2022-07-20T15:53:15.953645Z", "completed_at": "2022-07-20T15:53:15.953648Z"}], "thread_id": "Thread-2", "execution_time": 0.005132198333740234, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.pinterest_source_integration_tests.advertiser_report_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T15:53:15.949628Z", "completed_at": "2022-07-20T15:53:15.953193Z"}, {"name": "execute", "started_at": "2022-07-20T15:53:15.953707Z", "completed_at": "2022-07-20T15:53:15.953710Z"}], "thread_id": "Thread-3", "execution_time": 0.005136013031005859, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.pinterest_source_integration_tests.campaign_history_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T15:53:15.949689Z", "completed_at": "2022-07-20T15:53:15.953257Z"}, {"name": "execute", "started_at": "2022-07-20T15:53:15.953769Z", "completed_at": "2022-07-20T15:53:15.953771Z"}], "thread_id": "Thread-1", "execution_time": 0.0051310062408447266, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.pinterest_source_integration_tests.campaign_report_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T15:53:15.955475Z", "completed_at": "2022-07-20T15:53:15.959977Z"}, {"name": "execute", "started_at": "2022-07-20T15:53:15.960517Z", "completed_at": "2022-07-20T15:53:15.960521Z"}], "thread_id": "Thread-4", "execution_time": 0.0060999393463134766, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.pinterest_source_integration_tests.keyword_history_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T15:53:15.955549Z", "completed_at": "2022-07-20T15:53:15.960057Z"}, {"name": "execute", "started_at": "2022-07-20T15:53:15.960581Z", "completed_at": "2022-07-20T15:53:15.960584Z"}], "thread_id": "Thread-2", "execution_time": 0.006131172180175781, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.pinterest_source_integration_tests.keyword_report_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T15:53:15.955706Z", "completed_at": "2022-07-20T15:53:15.960130Z"}, {"name": "execute", "started_at": "2022-07-20T15:53:15.960646Z", "completed_at": "2022-07-20T15:53:15.960648Z"}], "thread_id": "Thread-3", "execution_time": 0.006139993667602539, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.pinterest_source_integration_tests.pin_promotion_history_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T15:53:15.955838Z", "completed_at": "2022-07-20T15:53:15.960201Z"}, {"name": "execute", "started_at": "2022-07-20T15:53:15.960706Z", "completed_at": "2022-07-20T15:53:15.960708Z"}], "thread_id": "Thread-1", "execution_time": 0.00614619255065918, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.pinterest_source_integration_tests.pin_promotion_report_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T15:53:15.962439Z", "completed_at": "2022-07-20T15:53:16.315505Z"}, {"name": "execute", "started_at": "2022-07-20T15:53:16.315870Z", "completed_at": "2022-07-20T15:53:16.315877Z"}], "thread_id": "Thread-2", "execution_time": 0.37964701652526855, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__ad_group_history"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T15:53:15.962376Z", "completed_at": "2022-07-20T15:53:16.318037Z"}, {"name": "execute", "started_at": "2022-07-20T15:53:16.318619Z", "completed_at": "2022-07-20T15:53:16.318624Z"}], "thread_id": "Thread-4", "execution_time": 0.38561582565307617, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__advertiser_history"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T15:53:15.962497Z", "completed_at": "2022-07-20T15:53:16.320935Z"}, {"name": "execute", "started_at": "2022-07-20T15:53:16.321516Z", "completed_at": "2022-07-20T15:53:16.321521Z"}], "thread_id": "Thread-3", "execution_time": 0.38663196563720703, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__advertiser_report"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T15:53:15.962555Z", "completed_at": "2022-07-20T15:53:16.322334Z"}, {"name": "execute", "started_at": "2022-07-20T15:53:16.322530Z", "completed_at": "2022-07-20T15:53:16.322535Z"}], "thread_id": "Thread-1", "execution_time": 0.3905620574951172, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__ad_group_report"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T15:53:16.342147Z", "completed_at": "2022-07-20T15:53:16.638739Z"}, {"name": "execute", "started_at": "2022-07-20T15:53:16.638987Z", "completed_at": "2022-07-20T15:53:16.638992Z"}], "thread_id": "Thread-2", "execution_time": 0.3206291198730469, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__campaign_report"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T15:53:16.353972Z", "completed_at": "2022-07-20T15:53:16.637094Z"}, {"name": "execute", "started_at": "2022-07-20T15:53:16.637646Z", "completed_at": "2022-07-20T15:53:16.637652Z"}], "thread_id": "Thread-3", "execution_time": 0.3093991279602051, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__keyword_history"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T15:53:16.348384Z", "completed_at": "2022-07-20T15:53:16.633119Z"}, {"name": "execute", "started_at": "2022-07-20T15:53:16.633928Z", "completed_at": "2022-07-20T15:53:16.633938Z"}], "thread_id": "Thread-4", "execution_time": 0.3384552001953125, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__campaign_history"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T15:53:16.693858Z", "completed_at": "2022-07-20T15:53:16.705296Z"}, {"name": "execute", "started_at": "2022-07-20T15:53:16.705680Z", "completed_at": "2022-07-20T15:53:16.705687Z"}], "thread_id": "Thread-4", "execution_time": 0.013876914978027344, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_history_ad_group_id___fivetran_synced.1132e1f339"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T15:53:16.706717Z", "completed_at": "2022-07-20T15:53:16.711066Z"}, {"name": "execute", "started_at": "2022-07-20T15:53:16.711245Z", "completed_at": "2022-07-20T15:53:16.711251Z"}], "thread_id": "Thread-4", "execution_time": 0.004977226257324219, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_history_ad_group_id.220c6220be"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T15:53:16.711939Z", "completed_at": "2022-07-20T15:53:16.715788Z"}, {"name": "execute", "started_at": "2022-07-20T15:53:16.715964Z", "completed_at": "2022-07-20T15:53:16.715969Z"}], "thread_id": "Thread-4", "execution_time": 0.00450897216796875, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_history_updated_at__advertiser_id.94e8f4de4b"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T15:53:16.716579Z", "completed_at": "2022-07-20T15:53:16.718968Z"}, {"name": "execute", "started_at": "2022-07-20T15:53:16.719116Z", "completed_at": "2022-07-20T15:53:16.719121Z"}], "thread_id": "Thread-4", "execution_time": 0.002886056900024414, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_history_advertiser_id.7d24f665fb"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T15:53:16.719681Z", "completed_at": "2022-07-20T15:53:16.722468Z"}, {"name": "execute", "started_at": "2022-07-20T15:53:16.722619Z", "completed_at": "2022-07-20T15:53:16.722623Z"}], "thread_id": "Thread-4", "execution_time": 0.00328826904296875, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_report_date_day__advertiser_id.e92ce8a9c0"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T15:53:16.723116Z", "completed_at": "2022-07-20T15:53:16.725219Z"}, {"name": "execute", "started_at": "2022-07-20T15:53:16.725362Z", "completed_at": "2022-07-20T15:53:16.725367Z"}], "thread_id": "Thread-4", "execution_time": 0.0025632381439208984, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_report_advertiser_id.1b16ed73ff"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T15:53:16.725868Z", "completed_at": "2022-07-20T15:53:16.727963Z"}, {"name": "execute", "started_at": "2022-07-20T15:53:16.728095Z", "completed_at": "2022-07-20T15:53:16.728099Z"}], "thread_id": "Thread-4", "execution_time": 0.002526998519897461, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_report_date_day.153bd03c95"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T15:53:16.728551Z", "completed_at": "2022-07-20T15:53:16.731074Z"}, {"name": "execute", "started_at": "2022-07-20T15:53:16.731210Z", "completed_at": "2022-07-20T15:53:16.731214Z"}], "thread_id": "Thread-4", "execution_time": 0.0029458999633789062, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_report_date_day__ad_group_id__advertiser_id.692e15663e"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T15:53:16.354055Z", "completed_at": "2022-07-20T15:53:16.705398Z"}, {"name": "execute", "started_at": "2022-07-20T15:53:16.705783Z", "completed_at": "2022-07-20T15:53:16.705788Z"}], "thread_id": "Thread-1", "execution_time": 0.3808150291442871, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__keyword_report"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T15:53:16.731668Z", "completed_at": "2022-07-20T15:53:16.734244Z"}, {"name": "execute", "started_at": "2022-07-20T15:53:16.734677Z", "completed_at": "2022-07-20T15:53:16.734680Z"}], "thread_id": "Thread-4", "execution_time": 0.0034360885620117188, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_report_ad_group_id.bb8cf3c471"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T15:53:16.735182Z", "completed_at": "2022-07-20T15:53:16.739760Z"}, {"name": "execute", "started_at": "2022-07-20T15:53:16.739921Z", "completed_at": "2022-07-20T15:53:16.739925Z"}], "thread_id": "Thread-1", "execution_time": 0.0053598880767822266, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_report_date_day.80e8904c4c"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T15:53:16.737337Z", "completed_at": "2022-07-20T15:53:16.739974Z"}, {"name": "execute", "started_at": "2022-07-20T15:53:16.740366Z", "completed_at": "2022-07-20T15:53:16.740369Z"}], "thread_id": "Thread-4", "execution_time": 0.005352973937988281, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_report_date_day__campaign_id__advertiser_id.ff47cb8abc"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T15:53:16.740839Z", "completed_at": "2022-07-20T15:53:16.744764Z"}, {"name": "execute", "started_at": "2022-07-20T15:53:16.744931Z", "completed_at": "2022-07-20T15:53:16.744935Z"}], "thread_id": "Thread-1", "execution_time": 0.0046842098236083984, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__campaign_report_campaign_id.a287eba0fc"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T15:53:16.742949Z", "completed_at": "2022-07-20T15:53:16.744984Z"}, {"name": "execute", "started_at": "2022-07-20T15:53:16.745371Z", "completed_at": "2022-07-20T15:53:16.745374Z"}], "thread_id": "Thread-4", "execution_time": 0.0047109127044677734, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__campaign_report_date_day.7ef5fb1238"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T15:53:16.745862Z", "completed_at": "2022-07-20T15:53:16.750934Z"}, {"name": "execute", "started_at": "2022-07-20T15:53:16.751170Z", "completed_at": "2022-07-20T15:53:16.751174Z"}], "thread_id": "Thread-1", "execution_time": 0.006003856658935547, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_history_keyword_id__ad_group_id___fivetran_synced.d122faa877"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T15:53:16.748544Z", "completed_at": "2022-07-20T15:53:16.751098Z"}, {"name": "execute", "started_at": "2022-07-20T15:53:16.751548Z", "completed_at": "2022-07-20T15:53:16.751551Z"}], "thread_id": "Thread-4", "execution_time": 0.005876302719116211, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__keyword_history_keyword_id.246889377a"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T15:53:16.752290Z", "completed_at": "2022-07-20T15:53:16.778380Z"}, {"name": "execute", "started_at": "2022-07-20T15:53:16.778527Z", "completed_at": "2022-07-20T15:53:16.778533Z"}], "thread_id": "Thread-1", "execution_time": 0.026829957962036133, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_history_campaign_id___fivetran_synced.eff7196b87"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T15:53:16.776296Z", "completed_at": "2022-07-20T15:53:16.781707Z"}, {"name": "execute", "started_at": "2022-07-20T15:53:16.781927Z", "completed_at": "2022-07-20T15:53:16.781931Z"}], "thread_id": "Thread-4", "execution_time": 0.02988910675048828, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__campaign_history_campaign_id.60cb10d341"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T15:53:16.779068Z", "completed_at": "2022-07-20T15:53:16.782123Z"}, {"name": "execute", "started_at": "2022-07-20T15:53:16.782491Z", "completed_at": "2022-07-20T15:53:16.782495Z"}], "thread_id": "Thread-1", "execution_time": 0.0038030147552490234, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_report_date_day__keyword_id__ad_group_id__campaign_id__advertiser_id.3ac101cc13"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T15:53:16.782761Z", "completed_at": "2022-07-20T15:53:16.786820Z"}, {"name": "execute", "started_at": "2022-07-20T15:53:16.787004Z", "completed_at": "2022-07-20T15:53:16.787009Z"}], "thread_id": "Thread-4", "execution_time": 0.004828929901123047, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__keyword_report_date_day.9937216300"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T15:53:16.784968Z", "completed_at": "2022-07-20T15:53:16.787070Z"}, {"name": "execute", "started_at": "2022-07-20T15:53:16.787404Z", "completed_at": "2022-07-20T15:53:16.787407Z"}], "thread_id": "Thread-1", "execution_time": 0.0027778148651123047, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__keyword_report_keyword_id.5f00679c48"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T15:53:16.664526Z", "completed_at": "2022-07-20T15:53:17.019228Z"}, {"name": "execute", "started_at": "2022-07-20T15:53:17.019507Z", "completed_at": "2022-07-20T15:53:17.019512Z"}], "thread_id": "Thread-2", "execution_time": 0.38277697563171387, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__pin_promotion_report"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T15:53:16.664657Z", "completed_at": "2022-07-20T15:53:17.019882Z"}, {"name": "execute", "started_at": "2022-07-20T15:53:17.020047Z", "completed_at": "2022-07-20T15:53:17.020050Z"}], "thread_id": "Thread-3", "execution_time": 0.3826451301574707, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__pin_promotion_history"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T15:53:17.048421Z", "completed_at": "2022-07-20T15:53:17.062065Z"}, {"name": "execute", "started_at": "2022-07-20T15:53:17.062513Z", "completed_at": "2022-07-20T15:53:17.062525Z"}], "thread_id": "Thread-4", "execution_time": 0.015775203704833984, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_report_date_day__pin_promotion_id__ad_group_id__campaign_id__advertiser_id.7ea04e6024"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T15:53:17.048690Z", "completed_at": "2022-07-20T15:53:17.062377Z"}, {"name": "execute", "started_at": "2022-07-20T15:53:17.063205Z", "completed_at": "2022-07-20T15:53:17.063209Z"}], "thread_id": "Thread-1", "execution_time": 0.0159759521484375, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_report_date_day.ed272212a1"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T15:53:17.053362Z", "completed_at": "2022-07-20T15:53:17.062603Z"}, {"name": "execute", "started_at": "2022-07-20T15:53:17.063420Z", "completed_at": "2022-07-20T15:53:17.063424Z"}], "thread_id": "Thread-3", "execution_time": 0.015803098678588867, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_history__fivetran_synced__pin_promotion_id.8e9ab31ea9"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T15:53:17.053251Z", "completed_at": "2022-07-20T15:53:17.062685Z"}, {"name": "execute", "started_at": "2022-07-20T15:53:17.063514Z", "completed_at": "2022-07-20T15:53:17.063516Z"}], "thread_id": "Thread-2", "execution_time": 0.01611804962158203, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_report_pin_promotion_id.9c3c9f71ab"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T15:53:17.064405Z", "completed_at": "2022-07-20T15:53:17.067736Z"}, {"name": "execute", "started_at": "2022-07-20T15:53:17.067895Z", "completed_at": "2022-07-20T15:53:17.067900Z"}], "thread_id": "Thread-4", "execution_time": 0.00426793098449707, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_history_pin_promotion_id.171995cd34"}], "elapsed_time": 1.8264219760894775, "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.0.4", "generated_at": "2022-07-20T19:21:03.553218Z", "invocation_id": "dbf490a2-d9ac-4389-8b4c-a7cae74fc906", "env": {}}, "results": [{"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T19:21:02.493282Z", "completed_at": "2022-07-20T19:21:02.504542Z"}, {"name": "execute", "started_at": "2022-07-20T19:21:02.505368Z", "completed_at": "2022-07-20T19:21:02.505378Z"}], "thread_id": "Thread-1", "execution_time": 0.013810873031616211, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__ad_group_history_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T19:21:02.493561Z", "completed_at": "2022-07-20T19:21:02.504805Z"}, {"name": "execute", "started_at": "2022-07-20T19:21:02.505470Z", "completed_at": "2022-07-20T19:21:02.505473Z"}], "thread_id": "Thread-2", "execution_time": 0.013586044311523438, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__ad_group_report_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T19:21:02.496529Z", "completed_at": "2022-07-20T19:21:02.505155Z"}, {"name": "execute", "started_at": "2022-07-20T19:21:02.506149Z", "completed_at": "2022-07-20T19:21:02.506152Z"}], "thread_id": "Thread-4", "execution_time": 0.013788223266601562, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__advertiser_report_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T19:21:02.496415Z", "completed_at": "2022-07-20T19:21:02.505278Z"}, {"name": "execute", "started_at": "2022-07-20T19:21:02.506230Z", "completed_at": "2022-07-20T19:21:02.506233Z"}], "thread_id": "Thread-3", "execution_time": 0.014168024063110352, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__advertiser_history_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T19:21:02.508300Z", "completed_at": "2022-07-20T19:21:02.516199Z"}, {"name": "execute", "started_at": "2022-07-20T19:21:02.516692Z", "completed_at": "2022-07-20T19:21:02.516697Z"}], "thread_id": "Thread-2", "execution_time": 0.009813070297241211, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__campaign_report_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T19:21:02.508210Z", "completed_at": "2022-07-20T19:21:02.516269Z"}, {"name": "execute", "started_at": "2022-07-20T19:21:02.516784Z", "completed_at": "2022-07-20T19:21:02.516788Z"}], "thread_id": "Thread-1", "execution_time": 0.010123968124389648, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__campaign_history_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T19:21:02.512317Z", "completed_at": "2022-07-20T19:21:02.516598Z"}, {"name": "execute", "started_at": "2022-07-20T19:21:02.517385Z", "completed_at": "2022-07-20T19:21:02.517388Z"}], "thread_id": "Thread-4", "execution_time": 0.010023117065429688, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__keyword_history_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T19:21:02.512401Z", "completed_at": "2022-07-20T19:21:02.516849Z"}, {"name": "execute", "started_at": "2022-07-20T19:21:02.517768Z", "completed_at": "2022-07-20T19:21:02.517772Z"}], "thread_id": "Thread-3", "execution_time": 0.010343074798583984, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__keyword_report_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T19:21:02.519087Z", "completed_at": "2022-07-20T19:21:02.524867Z"}, {"name": "execute", "started_at": "2022-07-20T19:21:02.526233Z", "completed_at": "2022-07-20T19:21:02.526237Z"}], "thread_id": "Thread-2", "execution_time": 0.008555889129638672, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__pin_promotion_history_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T19:21:02.519162Z", "completed_at": "2022-07-20T19:21:02.524936Z"}, {"name": "execute", "started_at": "2022-07-20T19:21:02.526302Z", "completed_at": "2022-07-20T19:21:02.526305Z"}], "thread_id": "Thread-1", "execution_time": 0.008571863174438477, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__pin_promotion_report_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T19:21:02.522903Z", "completed_at": "2022-07-20T19:21:02.525869Z"}, {"name": "execute", "started_at": "2022-07-20T19:21:02.526436Z", "completed_at": "2022-07-20T19:21:02.526439Z"}], "thread_id": "Thread-4", "execution_time": 0.008004903793334961, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.pinterest_source_integration_tests.ad_group_history_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T19:21:02.523075Z", "completed_at": "2022-07-20T19:21:02.526100Z"}, {"name": "execute", "started_at": "2022-07-20T19:21:02.526800Z", "completed_at": "2022-07-20T19:21:02.526803Z"}], "thread_id": "Thread-3", "execution_time": 0.008141040802001953, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.pinterest_source_integration_tests.ad_group_report_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T19:21:02.528350Z", "completed_at": "2022-07-20T19:21:02.531227Z"}, {"name": "execute", "started_at": "2022-07-20T19:21:02.532545Z", "completed_at": "2022-07-20T19:21:02.532549Z"}], "thread_id": "Thread-2", "execution_time": 0.0054378509521484375, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.pinterest_source_integration_tests.advertiser_history_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T19:21:02.528416Z", "completed_at": "2022-07-20T19:21:02.531303Z"}, {"name": "execute", "started_at": "2022-07-20T19:21:02.532636Z", "completed_at": "2022-07-20T19:21:02.532639Z"}], "thread_id": "Thread-1", "execution_time": 0.005474090576171875, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.pinterest_source_integration_tests.advertiser_report_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T19:21:02.528544Z", "completed_at": "2022-07-20T19:21:02.532181Z"}, {"name": "execute", "started_at": "2022-07-20T19:21:02.532803Z", "completed_at": "2022-07-20T19:21:02.532805Z"}], "thread_id": "Thread-4", "execution_time": 0.005450010299682617, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.pinterest_source_integration_tests.campaign_history_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T19:21:02.530301Z", "completed_at": "2022-07-20T19:21:02.532392Z"}, {"name": "execute", "started_at": "2022-07-20T19:21:02.533242Z", "completed_at": "2022-07-20T19:21:02.533245Z"}], "thread_id": "Thread-3", "execution_time": 0.005551815032958984, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.pinterest_source_integration_tests.campaign_report_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T19:21:02.534690Z", "completed_at": "2022-07-20T19:21:02.538515Z"}, {"name": "execute", "started_at": "2022-07-20T19:21:02.539724Z", "completed_at": "2022-07-20T19:21:02.539729Z"}], "thread_id": "Thread-2", "execution_time": 0.006146907806396484, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.pinterest_source_integration_tests.keyword_history_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T19:21:02.534755Z", "completed_at": "2022-07-20T19:21:02.538585Z"}, {"name": "execute", "started_at": "2022-07-20T19:21:02.539787Z", "completed_at": "2022-07-20T19:21:02.539788Z"}], "thread_id": "Thread-1", "execution_time": 0.006148815155029297, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.pinterest_source_integration_tests.keyword_report_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T19:21:02.534879Z", "completed_at": "2022-07-20T19:21:02.539420Z"}, {"name": "execute", "started_at": "2022-07-20T19:21:02.539908Z", "completed_at": "2022-07-20T19:21:02.539910Z"}], "thread_id": "Thread-4", "execution_time": 0.006107807159423828, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.pinterest_source_integration_tests.pin_promotion_history_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T19:21:02.537567Z", "completed_at": "2022-07-20T19:21:02.539607Z"}, {"name": "execute", "started_at": "2022-07-20T19:21:02.540249Z", "completed_at": "2022-07-20T19:21:02.540251Z"}], "thread_id": "Thread-3", "execution_time": 0.006168842315673828, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.pinterest_source_integration_tests.pin_promotion_report_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T19:21:02.541608Z", "completed_at": "2022-07-20T19:21:02.872477Z"}, {"name": "execute", "started_at": "2022-07-20T19:21:02.872763Z", "completed_at": "2022-07-20T19:21:02.872771Z"}], "thread_id": "Thread-2", "execution_time": 0.3590240478515625, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__ad_group_history"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T19:21:02.550218Z", "completed_at": "2022-07-20T19:21:02.875396Z"}, {"name": "execute", "started_at": "2022-07-20T19:21:02.875709Z", "completed_at": "2022-07-20T19:21:02.875712Z"}], "thread_id": "Thread-3", "execution_time": 0.3585689067840576, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__advertiser_history"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T19:21:02.541668Z", "completed_at": "2022-07-20T19:21:02.878457Z"}, {"name": "execute", "started_at": "2022-07-20T19:21:02.878757Z", "completed_at": "2022-07-20T19:21:02.878759Z"}], "thread_id": "Thread-1", "execution_time": 0.36767005920410156, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__ad_group_report"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T19:21:02.541802Z", "completed_at": "2022-07-20T19:21:02.878383Z"}, {"name": "execute", "started_at": "2022-07-20T19:21:02.878685Z", "completed_at": "2022-07-20T19:21:02.878689Z"}], "thread_id": "Thread-4", "execution_time": 0.3675980567932129, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__advertiser_report"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T19:21:02.901068Z", "completed_at": "2022-07-20T19:21:03.189172Z"}, {"name": "execute", "started_at": "2022-07-20T19:21:03.189500Z", "completed_at": "2022-07-20T19:21:03.189507Z"}], "thread_id": "Thread-3", "execution_time": 0.3149299621582031, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__campaign_history"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T19:21:02.909975Z", "completed_at": "2022-07-20T19:21:03.192819Z"}, {"name": "execute", "started_at": "2022-07-20T19:21:03.192995Z", "completed_at": "2022-07-20T19:21:03.192998Z"}], "thread_id": "Thread-1", "execution_time": 0.3117330074310303, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__keyword_history"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T19:21:02.900988Z", "completed_at": "2022-07-20T19:21:03.196964Z"}, {"name": "execute", "started_at": "2022-07-20T19:21:03.197441Z", "completed_at": "2022-07-20T19:21:03.197445Z"}], "thread_id": "Thread-2", "execution_time": 0.3254728317260742, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__campaign_report"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T19:21:02.910050Z", "completed_at": "2022-07-20T19:21:03.198151Z"}, {"name": "execute", "started_at": "2022-07-20T19:21:03.198301Z", "completed_at": "2022-07-20T19:21:03.198304Z"}], "thread_id": "Thread-4", "execution_time": 0.3163950443267822, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__keyword_report"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T19:21:03.227047Z", "completed_at": "2022-07-20T19:21:03.238107Z"}, {"name": "execute", "started_at": "2022-07-20T19:21:03.238406Z", "completed_at": "2022-07-20T19:21:03.238411Z"}], "thread_id": "Thread-2", "execution_time": 0.012002944946289062, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_history_ad_group_id___fivetran_synced.1132e1f339"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T19:21:03.227121Z", "completed_at": "2022-07-20T19:21:03.238180Z"}, {"name": "execute", "started_at": "2022-07-20T19:21:03.238474Z", "completed_at": "2022-07-20T19:21:03.238476Z"}], "thread_id": "Thread-4", "execution_time": 0.011984109878540039, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_history_ad_group_id.220c6220be"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T19:21:03.239426Z", "completed_at": "2022-07-20T19:21:03.243871Z"}, {"name": "execute", "started_at": "2022-07-20T19:21:03.244143Z", "completed_at": "2022-07-20T19:21:03.244147Z"}], "thread_id": "Thread-2", "execution_time": 0.005301713943481445, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_history_updated_at__advertiser_id.94e8f4de4b"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T19:21:03.239493Z", "completed_at": "2022-07-20T19:21:03.243931Z"}, {"name": "execute", "started_at": "2022-07-20T19:21:03.244216Z", "completed_at": "2022-07-20T19:21:03.244218Z"}], "thread_id": "Thread-4", "execution_time": 0.00529789924621582, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_history_advertiser_id.7d24f665fb"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T19:21:03.245131Z", "completed_at": "2022-07-20T19:21:03.249709Z"}, {"name": "execute", "started_at": "2022-07-20T19:21:03.249972Z", "completed_at": "2022-07-20T19:21:03.249976Z"}], "thread_id": "Thread-2", "execution_time": 0.005416393280029297, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_report_date_day__ad_group_id__campaign_id__advertiser_id.3800c02b0e"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T19:21:03.245194Z", "completed_at": "2022-07-20T19:21:03.249767Z"}, {"name": "execute", "started_at": "2022-07-20T19:21:03.250041Z", "completed_at": "2022-07-20T19:21:03.250044Z"}], "thread_id": "Thread-4", "execution_time": 0.005425930023193359, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_report_ad_group_id.bb8cf3c471"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T19:21:03.250928Z", "completed_at": "2022-07-20T19:21:03.255799Z"}, {"name": "execute", "started_at": "2022-07-20T19:21:03.256081Z", "completed_at": "2022-07-20T19:21:03.256086Z"}], "thread_id": "Thread-2", "execution_time": 0.005705833435058594, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_report_date_day.80e8904c4c"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T19:21:03.250991Z", "completed_at": "2022-07-20T19:21:03.255861Z"}, {"name": "execute", "started_at": "2022-07-20T19:21:03.256152Z", "completed_at": "2022-07-20T19:21:03.256154Z"}], "thread_id": "Thread-4", "execution_time": 0.005727291107177734, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_report_date_day__advertiser_id.e92ce8a9c0"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T19:21:03.257068Z", "completed_at": "2022-07-20T19:21:03.260850Z"}, {"name": "execute", "started_at": "2022-07-20T19:21:03.261050Z", "completed_at": "2022-07-20T19:21:03.261054Z"}], "thread_id": "Thread-2", "execution_time": 0.004539012908935547, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_report_advertiser_id.1b16ed73ff"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T19:21:03.257131Z", "completed_at": "2022-07-20T19:21:03.260978Z"}, {"name": "execute", "started_at": "2022-07-20T19:21:03.261319Z", "completed_at": "2022-07-20T19:21:03.261322Z"}], "thread_id": "Thread-4", "execution_time": 0.004712820053100586, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_report_date_day.153bd03c95"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T19:21:03.261997Z", "completed_at": "2022-07-20T19:21:03.266234Z"}, {"name": "execute", "started_at": "2022-07-20T19:21:03.266384Z", "completed_at": "2022-07-20T19:21:03.266388Z"}], "thread_id": "Thread-2", "execution_time": 0.004952907562255859, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_history_campaign_id___fivetran_synced.eff7196b87"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T19:21:03.264331Z", "completed_at": "2022-07-20T19:21:03.266443Z"}, {"name": "execute", "started_at": "2022-07-20T19:21:03.266818Z", "completed_at": "2022-07-20T19:21:03.266821Z"}], "thread_id": "Thread-4", "execution_time": 0.00516510009765625, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__campaign_history_campaign_id.60cb10d341"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T19:21:03.267282Z", "completed_at": "2022-07-20T19:21:03.271739Z"}, {"name": "execute", "started_at": "2022-07-20T19:21:03.271906Z", "completed_at": "2022-07-20T19:21:03.271910Z"}], "thread_id": "Thread-2", "execution_time": 0.0051441192626953125, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_history_keyword_id__ad_group_id___fivetran_synced.d122faa877"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T19:21:03.269865Z", "completed_at": "2022-07-20T19:21:03.272092Z"}, {"name": "execute", "started_at": "2022-07-20T19:21:03.272459Z", "completed_at": "2022-07-20T19:21:03.272462Z"}], "thread_id": "Thread-4", "execution_time": 0.005298137664794922, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__keyword_history_keyword_id.246889377a"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T19:21:03.296930Z", "completed_at": "2022-07-20T19:21:03.299018Z"}, {"name": "execute", "started_at": "2022-07-20T19:21:03.299161Z", "completed_at": "2022-07-20T19:21:03.299167Z"}], "thread_id": "Thread-4", "execution_time": 0.00263214111328125, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__campaign_report_campaign_id.a287eba0fc"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T19:21:03.272717Z", "completed_at": "2022-07-20T19:21:03.301458Z"}, {"name": "execute", "started_at": "2022-07-20T19:21:03.301666Z", "completed_at": "2022-07-20T19:21:03.301670Z"}], "thread_id": "Thread-2", "execution_time": 0.02946186065673828, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_report_date_day__campaign_id__advertiser_id.ff47cb8abc"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T19:21:03.299605Z", "completed_at": "2022-07-20T19:21:03.301866Z"}, {"name": "execute", "started_at": "2022-07-20T19:21:03.302235Z", "completed_at": "2022-07-20T19:21:03.302239Z"}], "thread_id": "Thread-4", "execution_time": 0.002988100051879883, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__campaign_report_date_day.7ef5fb1238"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T19:21:03.302499Z", "completed_at": "2022-07-20T19:21:03.307413Z"}, {"name": "execute", "started_at": "2022-07-20T19:21:03.307574Z", "completed_at": "2022-07-20T19:21:03.307578Z"}], "thread_id": "Thread-2", "execution_time": 0.005591869354248047, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_report_date_day__keyword_id__ad_group_id__campaign_id__advertiser_id.3ac101cc13"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T19:21:03.305518Z", "completed_at": "2022-07-20T19:21:03.307780Z"}, {"name": "execute", "started_at": "2022-07-20T19:21:03.308144Z", "completed_at": "2022-07-20T19:21:03.308147Z"}], "thread_id": "Thread-4", "execution_time": 0.0030510425567626953, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__keyword_report_date_day.9937216300"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T19:21:03.308423Z", "completed_at": "2022-07-20T19:21:03.310489Z"}, {"name": "execute", "started_at": "2022-07-20T19:21:03.310622Z", "completed_at": "2022-07-20T19:21:03.310625Z"}], "thread_id": "Thread-2", "execution_time": 0.002713918685913086, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__keyword_report_keyword_id.5f00679c48"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T19:21:03.216123Z", "completed_at": "2022-07-20T19:21:03.511486Z"}, {"name": "execute", "started_at": "2022-07-20T19:21:03.511699Z", "completed_at": "2022-07-20T19:21:03.511705Z"}], "thread_id": "Thread-3", "execution_time": 0.3186802864074707, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__pin_promotion_history"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T19:21:03.535406Z", "completed_at": "2022-07-20T19:21:03.541055Z"}, {"name": "execute", "started_at": "2022-07-20T19:21:03.541256Z", "completed_at": "2022-07-20T19:21:03.541262Z"}], "thread_id": "Thread-4", "execution_time": 0.006482839584350586, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_history__fivetran_synced__pin_promotion_id.8e9ab31ea9"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T19:21:03.221814Z", "completed_at": "2022-07-20T19:21:03.511927Z"}, {"name": "execute", "started_at": "2022-07-20T19:21:03.512095Z", "completed_at": "2022-07-20T19:21:03.512098Z"}], "thread_id": "Thread-1", "execution_time": 0.3201730251312256, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__pin_promotion_report"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T19:21:03.535490Z", "completed_at": "2022-07-20T19:21:03.541566Z"}, {"name": "execute", "started_at": "2022-07-20T19:21:03.542033Z", "completed_at": "2022-07-20T19:21:03.542036Z"}], "thread_id": "Thread-2", "execution_time": 0.007324934005737305, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_history_pin_promotion_id.171995cd34"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T19:21:03.543048Z", "completed_at": "2022-07-20T19:21:03.551263Z"}, {"name": "execute", "started_at": "2022-07-20T19:21:03.551535Z", "completed_at": "2022-07-20T19:21:03.551540Z"}], "thread_id": "Thread-3", "execution_time": 0.009589910507202148, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_report_date_day__pin_promotion_id__ad_group_id__campaign_id__advertiser_id.7ea04e6024"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T19:21:03.543120Z", "completed_at": "2022-07-20T19:21:03.551456Z"}, {"name": "execute", "started_at": "2022-07-20T19:21:03.551995Z", "completed_at": "2022-07-20T19:21:03.551998Z"}], "thread_id": "Thread-4", "execution_time": 0.009751081466674805, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_report_date_day.ed272212a1"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T19:21:03.543190Z", "completed_at": "2022-07-20T19:21:03.551621Z"}, {"name": "execute", "started_at": "2022-07-20T19:21:03.552122Z", "completed_at": "2022-07-20T19:21:03.552126Z"}], "thread_id": "Thread-1", "execution_time": 0.009759187698364258, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_report_pin_promotion_id.9c3c9f71ab"}], "elapsed_time": 1.764375925064087, "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 diff --git a/models/stg_pinterest_ads.yml b/models/stg_pinterest_ads.yml index e114012..753e2bd 100644 --- a/models/stg_pinterest_ads.yml +++ b/models/stg_pinterest_ads.yml @@ -138,12 +138,13 @@ models: description: "{{ doc('spend') }}" - name: stg_pinterest_ads__ad_group_report - description: Each record represents the daily performance of a Pinterest Ad Groups by advertiser. + description: Each record represents the daily performance of a Pinterest Ad Groups by campaign and advertiser. tests: - dbt_utils.unique_combination_of_columns: combination_of_columns: - date_day - ad_group_id + - campaign_id - advertiser_id columns: - name: date_day From 113e9cb37f9b03d871fd2ca7b1c1e06e40c9f30d Mon Sep 17 00:00:00 2001 From: Joe Markiewicz <74217849+fivetran-joemarkiewicz@users.noreply.github.com> Date: Tue, 9 Aug 2022 17:19:06 -0500 Subject: [PATCH 09/15] Update packages.yml --- packages.yml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/packages.yml b/packages.yml index c69cd32..e989b91 100644 --- a/packages.yml +++ b/packages.yml @@ -1,5 +1,8 @@ packages: -- package: fivetran/fivetran_utils - version: [">=0.3.0", "<0.4.0"] +# - package: fivetran/fivetran_utils +# version: [">=0.3.0", "<0.4.0"] +- git: https://github.com/fivetran/dbt_fivetran_utils.git + revision: feature/transform-persist + warn-unpinned: false - package: dbt-labs/spark_utils version: [">=0.3.0", "<0.4.0"] From 83bc79e5fd1905a449e2d7109f5e5d121c59e7bf Mon Sep 17 00:00:00 2001 From: fivetran-joemarkiewicz Date: Mon, 22 Aug 2022 10:05:42 -0500 Subject: [PATCH 10/15] before merge updates --- CHANGELOG.md | 10 ++++++++- README.md | 22 ++++++++++++++----- macros/get_ad_group_report_columns.sql | 2 ++ macros/get_advertiser_report_columns.sql | 2 ++ macros/get_campaign_report_columns.sql | 2 ++ macros/get_keyword_report_columns.sql | 2 ++ macros/get_pin_promotion_report_columns.sql | 2 ++ models/src_pinterest_ads.yml | 20 +++++++++++++++++ .../stg_pinterest_ads__ad_group_history.sql | 14 +++++------- models/stg_pinterest_ads__ad_group_report.sql | 5 ++--- .../stg_pinterest_ads__advertiser_history.sql | 14 ++++-------- .../stg_pinterest_ads__advertiser_report.sql | 5 ++--- .../stg_pinterest_ads__campaign_history.sql | 14 +++++------- models/stg_pinterest_ads__campaign_report.sql | 5 ++--- models/stg_pinterest_ads__keyword_history.sql | 13 ++++------- models/stg_pinterest_ads__keyword_report.sql | 5 ++--- ...g_pinterest_ads__pin_promotion_history.sql | 15 +++++-------- ...tg_pinterest_ads__pin_promotion_report.sql | 6 ++--- ...tg_pinterest_ads__ad_group_history_tmp.sql | 2 ++ ...stg_pinterest_ads__ad_group_report_tmp.sql | 2 ++ ..._pinterest_ads__advertiser_history_tmp.sql | 2 ++ ...g_pinterest_ads__advertiser_report_tmp.sql | 2 ++ ...tg_pinterest_ads__campaign_history_tmp.sql | 2 ++ ...stg_pinterest_ads__campaign_report_tmp.sql | 2 ++ ...stg_pinterest_ads__keyword_history_tmp.sql | 2 ++ .../stg_pinterest_ads__keyword_report_tmp.sql | 2 ++ ...nterest_ads__pin_promotion_history_tmp.sql | 2 ++ ...interest_ads__pin_promotion_report_tmp.sql | 2 ++ packages.yml | 8 +++---- 29 files changed, 112 insertions(+), 74 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8e2deb8..47cd245 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,7 +1,15 @@ # dbt_pinterest_source v0.6.0 ## 🚨 Breaking Changes 🚨 -The `pin_promotion_report_pass_through_metric` variable has been renamed to `pinterest__pin_promotion_report_passthrough_metrics`. ([#18](https://github.com/fivetran/dbt_pinterest_source/pull/18)) +- The `pin_promotion_report_pass_through_metric` variable has been renamed to `pinterest__pin_promotion_report_passthrough_metrics`. ([#18](https://github.com/fivetran/dbt_pinterest_source/pull/18)) +- The declaration of passthrough variables within your root `dbt_project.yml` has changed. To allow for more flexibility and better tracking of passthrough columns, you will now want to define passthrough metrics in the following format: ([#18](https://github.com/fivetran/dbt_pinterest_source/pull/18)) +> This applies to all passthrough metrics within the `dbt_pinterest_source` package and not just the `pinterest__pin_promotion_report_passthrough_metrics` example. +```yml +vars: + pinterest__pin_promotion_report_passthrough_metrics: + - name: "my_field_to_include" # Required: Name of the field within the source. + alias: "field_alias" # Optional: If you wish to alias the field within the staging model. +``` ## 🎉 Feature Enhancements 🎉 PR [#18](https://github.com/fivetran/dbt_pinterest_source/pull/18) includes the following changes: - Addition of the following staging models which pull from the source counterparts. The inclusion of the additional `_report` source tables is to generate a more accurate representation of the Pinterest Ads data. For example, not all Ad types are included within the `pin_promotion_report` table. Therefore, the addition of the further grain reports will allow for more flexibility and accurate Pinterest Ad reporting. diff --git a/README.md b/README.md index 0730551..2145a23 100644 --- a/README.md +++ b/README.md @@ -52,15 +52,25 @@ vars: ## (Optional) Step 4: Additional configurations ### Passing Through Additional Metrics -By default, this package will select `clicks`, `impressions`, and `cost` from `_report` source tables used by the respective staging models. If you would like to pass through additional metrics to the staging models, add the following configuration to your `dbt_project.yml` file: +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: + +>**Note** Please ensure you exercised due diligence when adding metrics to these models. The metrics added by default (taps, impressions, and spend) have been vetted by the Fivetran team maintaining this package for accuracy. There are metrics included within the source reports, for example metric averages, which may be inaccurately represented at the grain for reports created in this package. You will want to ensure whichever metrics you pass through are indeed appropriate to aggregate at the respective reporting levels provided in this package. ```yml vars: - pin_promotion_report_pass_through_metric: ['the', 'list', 'of', 'metric', 'columns', 'to', 'include'] # from pinterest.pin_promotion_report - pinterest__ad_group_report_passthrough_metrics: ['the', 'list', 'of', 'metric', 'columns', 'to', 'include'] # from pinterest.ad_group_report - pinterest__advertiser_report_passthrough_metrics: ['the', 'list', 'of', 'metric', 'columns', 'to', 'include'] # from pinterest.advertiser_report - pinterest__campaign_report_passthrough_metrics: ['the', 'list', 'of', 'metric', 'columns', 'to', 'include'] # from pinterest.campaign_report - pinterest__keyword_report_passthrough_metrics: ['the', 'list', 'of', 'metric', 'columns', 'to', 'include'] # from pinterest.keyword + pinterest__pin_promotion_report_passthrough_metrics: + - name: "new_custom_field" + alias: "custom_field" + pinterest__ad_group_report_passthrough_metrics: + - name: "this_field" + pinterest__advertiser_report_passthrough_metrics: + - name: "unique_string_field" + alias: "field_id" + pinterest__campaign_report_passthrough_metrics: + - name: "that_field" + pinterest__keyword_report_passthrough_metrics: + - name: "other_id" + alias: "another_id" ``` ### Change the build schema By default, this package builds the Pinterest Ads staging models within a schema titled (`` + `_pinterest_source`) in your destination. If this is not where you would like your pinterest staging data to be written to, add the following configuration to your root `dbt_project.yml` file: diff --git a/macros/get_ad_group_report_columns.sql b/macros/get_ad_group_report_columns.sql index 6859041..6e248ab 100644 --- a/macros/get_ad_group_report_columns.sql +++ b/macros/get_ad_group_report_columns.sql @@ -15,6 +15,8 @@ {"name": "spend_in_micro_dollar", "datatype": dbt_utils.type_int()} ] %} +{{ fivetran_utils.add_pass_through_columns(columns, var('pinterest__ad_group_report_passthrough_metrics')) }} + {{ return(columns) }} {% endmacro %} diff --git a/macros/get_advertiser_report_columns.sql b/macros/get_advertiser_report_columns.sql index 4cc50e4..1660fac 100644 --- a/macros/get_advertiser_report_columns.sql +++ b/macros/get_advertiser_report_columns.sql @@ -11,6 +11,8 @@ {"name": "spend_in_micro_dollar", "datatype": dbt_utils.type_int()} ] %} +{{ fivetran_utils.add_pass_through_columns(columns, var('pinterest__advertiser_report_passthrough_metrics')) }} + {{ return(columns) }} {% endmacro %} diff --git a/macros/get_campaign_report_columns.sql b/macros/get_campaign_report_columns.sql index 8de67e4..5ef436f 100644 --- a/macros/get_campaign_report_columns.sql +++ b/macros/get_campaign_report_columns.sql @@ -14,6 +14,8 @@ {"name": "spend_in_micro_dollar", "datatype": dbt_utils.type_int()} ] %} +{{ fivetran_utils.add_pass_through_columns(columns, var('pinterest__campaign_report_passthrough_metrics')) }} + {{ return(columns) }} {% endmacro %} diff --git a/macros/get_keyword_report_columns.sql b/macros/get_keyword_report_columns.sql index 6a5f50c..67cae09 100644 --- a/macros/get_keyword_report_columns.sql +++ b/macros/get_keyword_report_columns.sql @@ -17,6 +17,8 @@ {"name": "spend_in_micro_dollar", "datatype": dbt_utils.type_int()} ] %} +{{ fivetran_utils.add_pass_through_columns(columns, var('pinterest__keyword_report_passthrough_metrics')) }} + {{ return(columns) }} {% endmacro %} diff --git a/macros/get_pin_promotion_report_columns.sql b/macros/get_pin_promotion_report_columns.sql index caf62da..a3881db 100644 --- a/macros/get_pin_promotion_report_columns.sql +++ b/macros/get_pin_promotion_report_columns.sql @@ -14,6 +14,8 @@ {"name": "spend_in_micro_dollar", "datatype": dbt_utils.type_numeric()} ] %} +{{ fivetran_utils.add_pass_through_columns(columns, var('pinterest__pin_promotion_report_passthrough_metrics')) }} + {{ return(columns) }} {% endmacro %} diff --git a/models/src_pinterest_ads.yml b/models/src_pinterest_ads.yml index 0686b26..8d93c80 100644 --- a/models/src_pinterest_ads.yml +++ b/models/src_pinterest_ads.yml @@ -16,6 +16,8 @@ sources: - name: pin_promotion_report description: Each record represents the daily performance of a Pinterest Pin promotion. identifier: "{{ var('pinterest_pin_promotion_report_identifier', 'pin_promotion_report') }}" + config: + enabled: "{{ var('ad_reporting__pinterest_ads_enabled', true) }}" columns: - name: date description: "{{ doc('date_day') }}" @@ -43,6 +45,8 @@ sources: - name: pin_promotion_history description: Each record represents a version of a Pinterest Pin promotion. identifier: "{{ var('pinterest_pin_promotion_history_identifier', 'pin_promotion_history') }}" + config: + enabled: "{{ var('ad_reporting__pinterest_ads_enabled', true) }}" columns: - name: id description: "{{ doc('pin_promotion_id') }}" @@ -69,6 +73,8 @@ sources: - name: campaign_history description: Each record represents a version of a Pinterest Campaign. identifier: "{{ var('pinterest_campaign_history_identifier', 'campaign_history') }}" + config: + enabled: "{{ var('ad_reporting__pinterest_ads_enabled', true) }}" columns: - name: id description: "{{ doc('campaign_id') }}" @@ -84,6 +90,8 @@ sources: - name: ad_group_history description: Each record represents a version of a Pinterest Ad Group. identifier: "{{ var('pinterest_ad_group_history_identifier', 'ad_group_history') }}" + config: + enabled: "{{ var('ad_reporting__pinterest_ads_enabled', true) }}" columns: - name: id description: "{{ doc('ad_group_id') }}" @@ -105,6 +113,8 @@ sources: - name: ad_group_report description: Each record represents the daily performance of a Pinterest ad group. identifier: "{{ var('pinterest_ad_group_report_identifier', 'ad_group_report') }}" + config: + enabled: "{{ var('ad_reporting__pinterest_ads_enabled', true) }}" columns: - name: date description: "{{ doc('date_day') }}" @@ -134,6 +144,8 @@ sources: - name: advertiser_history description: Each record represents a version of a Pinterest advertiser. identifier: "{{ var('pinterest_advertiser_history_identifier', 'advertiser_history') }}" + config: + enabled: "{{ var('ad_reporting__pinterest_ads_enabled', true) }}" columns: - name: id description: "{{ doc('advertiser_id') }}" @@ -163,6 +175,8 @@ sources: - name: advertiser_report description: Each record represents the daily performance of a Pinterest advertiser. identifier: "{{ var('pinterest_advertiser_report_identifier', 'advertiser_report') }}" + config: + enabled: "{{ var('ad_reporting__pinterest_ads_enabled', true) }}" columns: - name: date description: "{{ doc('date_day') }}" @@ -184,6 +198,8 @@ sources: - name: campaign_report description: Each record represents the daily performance of a Pinterest campaign. identifier: "{{ var('pinterest_campaign_report_identifier', 'campaign_report') }}" + config: + enabled: "{{ var('ad_reporting__pinterest_ads_enabled', true) }}" columns: - name: date description: "{{ doc('date_day') }}" @@ -211,6 +227,8 @@ sources: - name: keyword_history description: Each record represents a version of a Pinterest keyword. identifier: "{{ var('pinterest_keyword_history_identifier', 'keyword_history') }}" + config: + enabled: "{{ var('ad_reporting__pinterest_ads_enabled', true) }}" columns: - name: id description: Unique identifier of the keyword. @@ -238,6 +256,8 @@ sources: - name: keyword_report description: Each record represents the daily performance of a Pinterest key word. identifier: "{{ var('pinterest_keyword_report_identifier', 'keyword_report') }}" + config: + enabled: "{{ var('ad_reporting__pinterest_ads_enabled', true) }}" columns: - name: date description: "{{ doc('date_day') }}" diff --git a/models/stg_pinterest_ads__ad_group_history.sql b/models/stg_pinterest_ads__ad_group_history.sql index 35c00c3..57fd011 100644 --- a/models/stg_pinterest_ads__ad_group_history.sql +++ b/models/stg_pinterest_ads__ad_group_history.sql @@ -1,3 +1,5 @@ +{{ config(enabled=var('ad_reporting__pinterest_ads_enabled', True)) }} + with base as ( select * @@ -26,16 +28,10 @@ final as ( campaign_id, created_time as created_at, end_time, - start_time + start_time, + row_number() over (partition by id order by _fivetran_synced desc) = 1 as is_most_recent_record from fields -), - -most_recent as ( - select - *, - row_number() over (partition by ad_group_id order by _fivetran_synced desc) = 1 as is_most_recent_record - from final ) select * -from most_recent +from final diff --git a/models/stg_pinterest_ads__ad_group_report.sql b/models/stg_pinterest_ads__ad_group_report.sql index aa3f05f..aa1af05 100644 --- a/models/stg_pinterest_ads__ad_group_report.sql +++ b/models/stg_pinterest_ads__ad_group_report.sql @@ -1,3 +1,4 @@ +{{ config(enabled=var('ad_reporting__pinterest_ads_enabled', True)) }} with base as ( @@ -30,9 +31,7 @@ final as ( coalesce(clickthrough_1,0) + coalesce(clickthrough_2,0) as clicks, spend_in_micro_dollar / 1000000.0 as spend - {% for metric in var('pinterest__ad_group_report_passthrough_metrics',[]) %} - , {{ metric }} - {% endfor %} + {{ fivetran_utils.fill_pass_through_columns('pinterest__ad_group_report_passthrough_metrics') }} from fields ) diff --git a/models/stg_pinterest_ads__advertiser_history.sql b/models/stg_pinterest_ads__advertiser_history.sql index 49a75e4..80a39c0 100644 --- a/models/stg_pinterest_ads__advertiser_history.sql +++ b/models/stg_pinterest_ads__advertiser_history.sql @@ -1,3 +1,4 @@ +{{ config(enabled=var('ad_reporting__pinterest_ads_enabled', True)) }} with base as ( @@ -30,17 +31,10 @@ final as ( currency as currency_code, merchant_id, owner_user_id, - updated_time as updated_at + updated_time as updated_at, + row_number() over (partition by id order by updated_time desc) = 1 as is_most_recent_record from fields -), - -most_recent as ( - select - *, - row_number() over (partition by advertiser_id order by updated_at desc) = 1 as is_most_recent_record - from final - ) select * -from most_recent +from final diff --git a/models/stg_pinterest_ads__advertiser_report.sql b/models/stg_pinterest_ads__advertiser_report.sql index f371e9f..2abc177 100644 --- a/models/stg_pinterest_ads__advertiser_report.sql +++ b/models/stg_pinterest_ads__advertiser_report.sql @@ -1,3 +1,4 @@ +{{ config(enabled=var('ad_reporting__pinterest_ads_enabled', True)) }} with base as ( @@ -26,9 +27,7 @@ final as ( coalesce(clickthrough_1,0) + coalesce(clickthrough_2,0) as clicks, spend_in_micro_dollar / 1000000.0 as spend - {% for metric in var('pinterest__advertiser_report_passthrough_metrics',[]) %} - , {{ metric }} - {% endfor %} + {{ fivetran_utils.fill_pass_through_columns('pinterest__advertiser_report_passthrough_metrics') }} from fields ) diff --git a/models/stg_pinterest_ads__campaign_history.sql b/models/stg_pinterest_ads__campaign_history.sql index 4258874..43b5ab0 100644 --- a/models/stg_pinterest_ads__campaign_history.sql +++ b/models/stg_pinterest_ads__campaign_history.sql @@ -1,3 +1,5 @@ +{{ config(enabled=var('ad_reporting__pinterest_ads_enabled', True)) }} + with base as ( select * @@ -24,16 +26,10 @@ final as ( advertiser_id, status as campaign_status, _fivetran_synced, - created_time as created_at + created_time as created_at, + row_number() over (partition by id order by _fivetran_synced desc) = 1 as is_most_recent_record from fields -), - -most_recent as ( - select - *, - row_number() over (partition by campaign_id order by _fivetran_synced desc) = 1 as is_most_recent_record - from final ) select * -from most_recent +from final diff --git a/models/stg_pinterest_ads__campaign_report.sql b/models/stg_pinterest_ads__campaign_report.sql index a4bd32e..883e983 100644 --- a/models/stg_pinterest_ads__campaign_report.sql +++ b/models/stg_pinterest_ads__campaign_report.sql @@ -1,3 +1,4 @@ +{{ config(enabled=var('ad_reporting__pinterest_ads_enabled', True)) }} with base as ( @@ -29,9 +30,7 @@ final as ( coalesce(clickthrough_1,0) + coalesce(clickthrough_2,0) as clicks, spend_in_micro_dollar / 1000000.0 as spend - {% for metric in var('pinterest__campaign_report_passthrough_metrics',[]) %} - , {{ metric }} - {% endfor %} + {{ fivetran_utils.fill_pass_through_columns('pinterest__campaign_report_passthrough_metrics') }} from fields ) diff --git a/models/stg_pinterest_ads__keyword_history.sql b/models/stg_pinterest_ads__keyword_history.sql index 3c1f08f..e60f026 100644 --- a/models/stg_pinterest_ads__keyword_history.sql +++ b/models/stg_pinterest_ads__keyword_history.sql @@ -1,3 +1,4 @@ +{{ config(enabled=var('ad_reporting__pinterest_ads_enabled', True)) }} with base as ( @@ -30,16 +31,10 @@ final as ( bid, campaign_id, match_type, - parent_type + parent_type, + row_number() over (partition by id order by _fivetran_synced desc) = 1 as is_most_recent_record from fields -), - -most_recent as ( - select - *, - row_number() over (partition by keyword_id order by _fivetran_synced desc) = 1 as is_most_recent_record - from final ) select * -from most_recent +from final diff --git a/models/stg_pinterest_ads__keyword_report.sql b/models/stg_pinterest_ads__keyword_report.sql index 51f90c4..9ab322f 100644 --- a/models/stg_pinterest_ads__keyword_report.sql +++ b/models/stg_pinterest_ads__keyword_report.sql @@ -1,3 +1,4 @@ +{{ config(enabled=var('ad_reporting__pinterest_ads_enabled', True)) }} with base as ( @@ -32,9 +33,7 @@ final as ( coalesce(clickthrough_1,0) + coalesce(clickthrough_2,0) as clicks, spend_in_micro_dollar / 1000000.0 as spend - {% for metric in var('pinterest__keyword_report_passthrough_metrics',[]) %} - , {{ metric }} - {% endfor %} + {{ fivetran_utils.fill_pass_through_columns('pinterest__keyword_report_passthrough_metrics') }} from fields ) diff --git a/models/stg_pinterest_ads__pin_promotion_history.sql b/models/stg_pinterest_ads__pin_promotion_history.sql index 1746d56..a8e1f0c 100644 --- a/models/stg_pinterest_ads__pin_promotion_history.sql +++ b/models/stg_pinterest_ads__pin_promotion_history.sql @@ -1,3 +1,5 @@ +{{ config(enabled=var('ad_reporting__pinterest_ads_enabled', True)) }} + with base as ( select * @@ -36,17 +38,10 @@ final as ( pin_id, status as pin_status, creative_type, - _fivetran_synced + _fivetran_synced, + row_number() over (partition by id order by _fivetran_synced desc) = 1 as is_most_recent_record from fields -), - -surrogate_key as ( - - select - *, - row_number() over (partition by pin_promotion_id order by _fivetran_synced desc) = 1 as is_most_recent_record - from final ) select * -from surrogate_key +from final diff --git a/models/stg_pinterest_ads__pin_promotion_report.sql b/models/stg_pinterest_ads__pin_promotion_report.sql index 6fc48cc..8a5c32d 100644 --- a/models/stg_pinterest_ads__pin_promotion_report.sql +++ b/models/stg_pinterest_ads__pin_promotion_report.sql @@ -1,3 +1,5 @@ +{{ config(enabled=var('ad_reporting__pinterest_ads_enabled', True)) }} + with base as ( select * @@ -28,9 +30,7 @@ final as ( coalesce(clickthrough_1,0) + coalesce(clickthrough_2,0) as clicks, spend_in_micro_dollar / 1000000.0 as spend - {% for metric in var('pinterest__pin_promotion_report_passthrough_metrics',[]) %} - , {{ metric }} - {% endfor %} + {{ fivetran_utils.fill_pass_through_columns('pinterest__pin_promotion_report_passthrough_metrics') }} from fields ) diff --git a/models/tmp/stg_pinterest_ads__ad_group_history_tmp.sql b/models/tmp/stg_pinterest_ads__ad_group_history_tmp.sql index e1b6637..1c5916c 100644 --- a/models/tmp/stg_pinterest_ads__ad_group_history_tmp.sql +++ b/models/tmp/stg_pinterest_ads__ad_group_history_tmp.sql @@ -1,2 +1,4 @@ +{{ config(enabled=var('ad_reporting__pinterest_ads_enabled', True)) }} + select * from {{ var('ad_group_history') }} diff --git a/models/tmp/stg_pinterest_ads__ad_group_report_tmp.sql b/models/tmp/stg_pinterest_ads__ad_group_report_tmp.sql index 4ab90a1..4d42489 100644 --- a/models/tmp/stg_pinterest_ads__ad_group_report_tmp.sql +++ b/models/tmp/stg_pinterest_ads__ad_group_report_tmp.sql @@ -1,2 +1,4 @@ +{{ config(enabled=var('ad_reporting__pinterest_ads_enabled', True)) }} + select * from {{ var('ad_group_report') }} diff --git a/models/tmp/stg_pinterest_ads__advertiser_history_tmp.sql b/models/tmp/stg_pinterest_ads__advertiser_history_tmp.sql index 50e7955..8818af9 100644 --- a/models/tmp/stg_pinterest_ads__advertiser_history_tmp.sql +++ b/models/tmp/stg_pinterest_ads__advertiser_history_tmp.sql @@ -1,2 +1,4 @@ +{{ config(enabled=var('ad_reporting__pinterest_ads_enabled', True)) }} + select * from {{ var('advertiser_history') }} diff --git a/models/tmp/stg_pinterest_ads__advertiser_report_tmp.sql b/models/tmp/stg_pinterest_ads__advertiser_report_tmp.sql index dfe145d..3a81e80 100644 --- a/models/tmp/stg_pinterest_ads__advertiser_report_tmp.sql +++ b/models/tmp/stg_pinterest_ads__advertiser_report_tmp.sql @@ -1,2 +1,4 @@ +{{ config(enabled=var('ad_reporting__pinterest_ads_enabled', True)) }} + select * from {{ var('advertiser_report') }} diff --git a/models/tmp/stg_pinterest_ads__campaign_history_tmp.sql b/models/tmp/stg_pinterest_ads__campaign_history_tmp.sql index f75c526..51b41e8 100644 --- a/models/tmp/stg_pinterest_ads__campaign_history_tmp.sql +++ b/models/tmp/stg_pinterest_ads__campaign_history_tmp.sql @@ -1,2 +1,4 @@ +{{ config(enabled=var('ad_reporting__pinterest_ads_enabled', True)) }} + select * from {{ var('campaign_history') }} diff --git a/models/tmp/stg_pinterest_ads__campaign_report_tmp.sql b/models/tmp/stg_pinterest_ads__campaign_report_tmp.sql index 6d2dda3..7d9aae2 100644 --- a/models/tmp/stg_pinterest_ads__campaign_report_tmp.sql +++ b/models/tmp/stg_pinterest_ads__campaign_report_tmp.sql @@ -1,2 +1,4 @@ +{{ config(enabled=var('ad_reporting__pinterest_ads_enabled', True)) }} + select * from {{ var('campaign_report') }} diff --git a/models/tmp/stg_pinterest_ads__keyword_history_tmp.sql b/models/tmp/stg_pinterest_ads__keyword_history_tmp.sql index 8084eef..88dd9ef 100644 --- a/models/tmp/stg_pinterest_ads__keyword_history_tmp.sql +++ b/models/tmp/stg_pinterest_ads__keyword_history_tmp.sql @@ -1,2 +1,4 @@ +{{ config(enabled=var('ad_reporting__pinterest_ads_enabled', True)) }} + select * from {{ var('keyword_history') }} diff --git a/models/tmp/stg_pinterest_ads__keyword_report_tmp.sql b/models/tmp/stg_pinterest_ads__keyword_report_tmp.sql index a8aa2d4..09d5ae3 100644 --- a/models/tmp/stg_pinterest_ads__keyword_report_tmp.sql +++ b/models/tmp/stg_pinterest_ads__keyword_report_tmp.sql @@ -1,2 +1,4 @@ +{{ config(enabled=var('ad_reporting__pinterest_ads_enabled', True)) }} + select * from {{ var('keyword_report') }} diff --git a/models/tmp/stg_pinterest_ads__pin_promotion_history_tmp.sql b/models/tmp/stg_pinterest_ads__pin_promotion_history_tmp.sql index 5e8307d..80239ac 100644 --- a/models/tmp/stg_pinterest_ads__pin_promotion_history_tmp.sql +++ b/models/tmp/stg_pinterest_ads__pin_promotion_history_tmp.sql @@ -1,2 +1,4 @@ +{{ config(enabled=var('ad_reporting__pinterest_ads_enabled', True)) }} + select * from {{ var('pin_promotion_history') }} diff --git a/models/tmp/stg_pinterest_ads__pin_promotion_report_tmp.sql b/models/tmp/stg_pinterest_ads__pin_promotion_report_tmp.sql index f97dfe6..f597daa 100644 --- a/models/tmp/stg_pinterest_ads__pin_promotion_report_tmp.sql +++ b/models/tmp/stg_pinterest_ads__pin_promotion_report_tmp.sql @@ -1,2 +1,4 @@ +{{ config(enabled=var('ad_reporting__pinterest_ads_enabled', True)) }} + select * from {{ var('pin_promotion_report') }} diff --git a/packages.yml b/packages.yml index e989b91..946199d 100644 --- a/packages.yml +++ b/packages.yml @@ -1,8 +1,6 @@ packages: -# - package: fivetran/fivetran_utils -# version: [">=0.3.0", "<0.4.0"] -- git: https://github.com/fivetran/dbt_fivetran_utils.git - revision: feature/transform-persist - warn-unpinned: false +- package: fivetran/fivetran_utils + version: [">=0.3.0", "<0.4.0"] + - package: dbt-labs/spark_utils version: [">=0.3.0", "<0.4.0"] From ce2ce3dbb8faf631947424369635186032af5964 Mon Sep 17 00:00:00 2001 From: fivetran-joemarkiewicz Date: Fri, 26 Aug 2022 14:14:44 -0500 Subject: [PATCH 11/15] source config code reduction and docs regen --- docs/catalog.json | 2 +- docs/manifest.json | 2 +- docs/run_results.json | 2 +- models/src_pinterest_ads.yml | 23 +++-------------------- 4 files changed, 6 insertions(+), 23 deletions(-) diff --git a/docs/catalog.json b/docs/catalog.json index f84c6a0..29ad03e 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-07-20T19:21:03.972721Z", "invocation_id": "dbf490a2-d9ac-4389-8b4c-a7cae74fc906", "env": {}}, "nodes": {"seed.pinterest_source_integration_tests.ad_group_history_data": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "ad_group_history_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "campaign_id": {"type": "bigint", "index": 2, "name": "campaign_id", "comment": null}, "created_time": {"type": "text", "index": 3, "name": "created_time", "comment": null}, "name": {"type": "text", "index": 4, "name": "name", "comment": null}, "status": {"type": "text", "index": 5, "name": "status", "comment": null}, "start_time": {"type": "text", "index": 6, "name": "start_time", "comment": null}, "end_time": {"type": "integer", "index": 7, "name": "end_time", "comment": null}, "_fivetran_synced": {"type": "text", "index": 8, "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.pinterest_source_integration_tests.ad_group_history_data"}, "seed.pinterest_source_integration_tests.ad_group_report_data": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "ad_group_report_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"ad_group_id": {"type": "bigint", "index": 1, "name": "ad_group_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 2, "name": "advertiser_id", "comment": null}, "date": {"type": "timestamp without time zone", "index": 3, "name": "date", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 4, "name": "_fivetran_synced", "comment": null}, "ad_group_name": {"type": "text", "index": 5, "name": "ad_group_name", "comment": null}, "ad_group_status": {"type": "text", "index": 6, "name": "ad_group_status", "comment": null}, "campaign_daily_spend_cap": {"type": "integer", "index": 7, "name": "campaign_daily_spend_cap", "comment": null}, "campaign_id": {"type": "bigint", "index": 8, "name": "campaign_id", "comment": null}, "campaign_lifetime_spend_cap": {"type": "integer", "index": 9, "name": "campaign_lifetime_spend_cap", "comment": null}, "campaign_name": {"type": "text", "index": 10, "name": "campaign_name", "comment": null}, "campaign_status": {"type": "text", "index": 11, "name": "campaign_status", "comment": null}, "clickthrough_1": {"type": "integer", "index": 12, "name": "clickthrough_1", "comment": null}, "clickthrough_1_gross": {"type": "integer", "index": 13, "name": "clickthrough_1_gross", "comment": null}, "cpc_in_micro_dollar": {"type": "double precision", "index": 14, "name": "cpc_in_micro_dollar", "comment": null}, "cpm_in_micro_dollar": {"type": "double precision", "index": 15, "name": "cpm_in_micro_dollar", "comment": null}, "ctr": {"type": "double precision", "index": 16, "name": "ctr", "comment": null}, "ecpc_in_micro_dollar": {"type": "double precision", "index": 17, "name": "ecpc_in_micro_dollar", "comment": null}, "ecpm_in_micro_dollar": {"type": "double precision", "index": 18, "name": "ecpm_in_micro_dollar", "comment": null}, "ectr": {"type": "double precision", "index": 19, "name": "ectr", "comment": null}, "engagement_1": {"type": "integer", "index": 20, "name": "engagement_1", "comment": null}, "impression_1": {"type": "integer", "index": 21, "name": "impression_1", "comment": null}, "impression_1_gross": {"type": "integer", "index": 22, "name": "impression_1_gross", "comment": null}, "outbound_click_1": {"type": "integer", "index": 23, "name": "outbound_click_1", "comment": null}, "paid_impression": {"type": "integer", "index": 24, "name": "paid_impression", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 25, "name": "spend_in_micro_dollar", "comment": null}, "total_engagement": {"type": "integer", "index": 26, "name": "total_engagement", "comment": null}, "total_impression_frequency": {"type": "double precision", "index": 27, "name": "total_impression_frequency", "comment": null}, "total_impression_user": {"type": "integer", "index": 28, "name": "total_impression_user", "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.pinterest_source_integration_tests.ad_group_report_data"}, "seed.pinterest_source_integration_tests.advertiser_history_data": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "advertiser_history_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "updated_time": {"type": "timestamp without time zone", "index": 2, "name": "updated_time", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "billing_profile_status": {"type": "text", "index": 4, "name": "billing_profile_status", "comment": null}, "billing_type": {"type": "text", "index": 5, "name": "billing_type", "comment": null}, "country": {"type": "text", "index": 6, "name": "country", "comment": null}, "created_time": {"type": "timestamp without time zone", "index": 7, "name": "created_time", "comment": null}, "currency": {"type": "text", "index": 8, "name": "currency", "comment": null}, "merchant_id": {"type": "integer", "index": 9, "name": "merchant_id", "comment": null}, "name": {"type": "text", "index": 10, "name": "name", "comment": null}, "owner_user_id": {"type": "integer", "index": 11, "name": "owner_user_id", "comment": null}, "status": {"type": "text", "index": 12, "name": "status", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "seed.pinterest_source_integration_tests.advertiser_history_data"}, "seed.pinterest_source_integration_tests.advertiser_report_data": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "advertiser_report_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"advertiser_id": {"type": "bigint", "index": 1, "name": "advertiser_id", "comment": null}, "date": {"type": "timestamp without time zone", "index": 2, "name": "date", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "clickthrough_1": {"type": "integer", "index": 4, "name": "clickthrough_1", "comment": null}, "clickthrough_1_gross": {"type": "integer", "index": 5, "name": "clickthrough_1_gross", "comment": null}, "cpc_in_micro_dollar": {"type": "double precision", "index": 6, "name": "cpc_in_micro_dollar", "comment": null}, "cpm_in_micro_dollar": {"type": "double precision", "index": 7, "name": "cpm_in_micro_dollar", "comment": null}, "ctr": {"type": "double precision", "index": 8, "name": "ctr", "comment": null}, "ecpc_in_micro_dollar": {"type": "double precision", "index": 9, "name": "ecpc_in_micro_dollar", "comment": null}, "ecpm_in_micro_dollar": {"type": "double precision", "index": 10, "name": "ecpm_in_micro_dollar", "comment": null}, "ectr": {"type": "double precision", "index": 11, "name": "ectr", "comment": null}, "engagement_1": {"type": "integer", "index": 12, "name": "engagement_1", "comment": null}, "impression_1": {"type": "integer", "index": 13, "name": "impression_1", "comment": null}, "impression_1_gross": {"type": "integer", "index": 14, "name": "impression_1_gross", "comment": null}, "outbound_click_1": {"type": "integer", "index": 15, "name": "outbound_click_1", "comment": null}, "paid_impression": {"type": "integer", "index": 16, "name": "paid_impression", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 17, "name": "spend_in_micro_dollar", "comment": null}, "total_engagement": {"type": "integer", "index": 18, "name": "total_engagement", "comment": null}, "total_impression_frequency": {"type": "double precision", "index": 19, "name": "total_impression_frequency", "comment": null}, "total_impression_user": {"type": "integer", "index": 20, "name": "total_impression_user", "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.pinterest_source_integration_tests.advertiser_report_data"}, "seed.pinterest_source_integration_tests.campaign_history_data": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "campaign_history_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "created_time": {"type": "text", "index": 2, "name": "created_time", "comment": null}, "name": {"type": "text", "index": 3, "name": "name", "comment": null}, "status": {"type": "text", "index": 4, "name": "status", "comment": null}, "_fivetran_synced": {"type": "text", "index": 5, "name": "_fivetran_synced", "comment": null}, "advertiser_id": {"type": "bigint", "index": 6, "name": "advertiser_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.pinterest_source_integration_tests.campaign_history_data"}, "seed.pinterest_source_integration_tests.campaign_report_data": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "campaign_report_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"advertiser_id": {"type": "bigint", "index": 1, "name": "advertiser_id", "comment": null}, "campaign_id": {"type": "bigint", "index": 2, "name": "campaign_id", "comment": null}, "date": {"type": "timestamp without time zone", "index": 3, "name": "date", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 4, "name": "_fivetran_synced", "comment": null}, "campaign_daily_spend_cap": {"type": "integer", "index": 5, "name": "campaign_daily_spend_cap", "comment": null}, "campaign_lifetime_spend_cap": {"type": "integer", "index": 6, "name": "campaign_lifetime_spend_cap", "comment": null}, "campaign_name": {"type": "text", "index": 7, "name": "campaign_name", "comment": null}, "campaign_status": {"type": "text", "index": 8, "name": "campaign_status", "comment": null}, "clickthrough_1": {"type": "integer", "index": 9, "name": "clickthrough_1", "comment": null}, "clickthrough_1_gross": {"type": "integer", "index": 10, "name": "clickthrough_1_gross", "comment": null}, "cpc_in_micro_dollar": {"type": "double precision", "index": 11, "name": "cpc_in_micro_dollar", "comment": null}, "cpm_in_micro_dollar": {"type": "double precision", "index": 12, "name": "cpm_in_micro_dollar", "comment": null}, "ctr": {"type": "double precision", "index": 13, "name": "ctr", "comment": null}, "ecpc_in_micro_dollar": {"type": "double precision", "index": 14, "name": "ecpc_in_micro_dollar", "comment": null}, "ecpm_in_micro_dollar": {"type": "double precision", "index": 15, "name": "ecpm_in_micro_dollar", "comment": null}, "ectr": {"type": "double precision", "index": 16, "name": "ectr", "comment": null}, "engagement_1": {"type": "integer", "index": 17, "name": "engagement_1", "comment": null}, "impression_1": {"type": "integer", "index": 18, "name": "impression_1", "comment": null}, "impression_1_gross": {"type": "integer", "index": 19, "name": "impression_1_gross", "comment": null}, "outbound_click_1": {"type": "integer", "index": 20, "name": "outbound_click_1", "comment": null}, "paid_impression": {"type": "integer", "index": 21, "name": "paid_impression", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 22, "name": "spend_in_micro_dollar", "comment": null}, "total_engagement": {"type": "integer", "index": 23, "name": "total_engagement", "comment": null}, "total_impression_frequency": {"type": "double precision", "index": 24, "name": "total_impression_frequency", "comment": null}, "total_impression_user": {"type": "integer", "index": 25, "name": "total_impression_user", "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.pinterest_source_integration_tests.campaign_report_data"}, "seed.pinterest_source_integration_tests.keyword_history_data": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "keyword_history_data", "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}, "ad_group_id": {"type": "bigint", "index": 3, "name": "ad_group_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 4, "name": "advertiser_id", "comment": null}, "archived": {"type": "boolean", "index": 5, "name": "archived", "comment": null}, "bid": {"type": "integer", "index": 6, "name": "bid", "comment": null}, "campaign_id": {"type": "bigint", "index": 7, "name": "campaign_id", "comment": null}, "id": {"type": "bigint", "index": 8, "name": "id", "comment": null}, "match_type": {"type": "text", "index": 9, "name": "match_type", "comment": null}, "parent_type": {"type": "text", "index": 10, "name": "parent_type", "comment": null}, "value": {"type": "text", "index": 11, "name": "value", "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.pinterest_source_integration_tests.keyword_history_data"}, "seed.pinterest_source_integration_tests.keyword_report_data": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "keyword_report_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"ad_group_id": {"type": "bigint", "index": 1, "name": "ad_group_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 2, "name": "advertiser_id", "comment": null}, "campaign_id": {"type": "bigint", "index": 3, "name": "campaign_id", "comment": null}, "date": {"type": "timestamp without time zone", "index": 4, "name": "date", "comment": null}, "keyword_id": {"type": "bigint", "index": 5, "name": "keyword_id", "comment": null}, "pin_id": {"type": "bigint", "index": 6, "name": "pin_id", "comment": null}, "pin_promotion_id": {"type": "bigint", "index": 7, "name": "pin_promotion_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 8, "name": "_fivetran_synced", "comment": null}, "ad_group_name": {"type": "text", "index": 9, "name": "ad_group_name", "comment": null}, "ad_group_status": {"type": "text", "index": 10, "name": "ad_group_status", "comment": null}, "campaign_daily_spend_cap": {"type": "integer", "index": 11, "name": "campaign_daily_spend_cap", "comment": null}, "campaign_lifetime_spend_cap": {"type": "integer", "index": 12, "name": "campaign_lifetime_spend_cap", "comment": null}, "campaign_name": {"type": "text", "index": 13, "name": "campaign_name", "comment": null}, "campaign_status": {"type": "text", "index": 14, "name": "campaign_status", "comment": null}, "clickthrough_1": {"type": "integer", "index": 15, "name": "clickthrough_1", "comment": null}, "clickthrough_1_gross": {"type": "integer", "index": 16, "name": "clickthrough_1_gross", "comment": null}, "cpc_in_micro_dollar": {"type": "integer", "index": 17, "name": "cpc_in_micro_dollar", "comment": null}, "cpm_in_micro_dollar": {"type": "double precision", "index": 18, "name": "cpm_in_micro_dollar", "comment": null}, "ctr": {"type": "integer", "index": 19, "name": "ctr", "comment": null}, "ecpc_in_micro_dollar": {"type": "integer", "index": 20, "name": "ecpc_in_micro_dollar", "comment": null}, "ecpm_in_micro_dollar": {"type": "double precision", "index": 21, "name": "ecpm_in_micro_dollar", "comment": null}, "ectr": {"type": "integer", "index": 22, "name": "ectr", "comment": null}, "engagement_1": {"type": "integer", "index": 23, "name": "engagement_1", "comment": null}, "impression_1": {"type": "integer", "index": 24, "name": "impression_1", "comment": null}, "impression_1_gross": {"type": "integer", "index": 25, "name": "impression_1_gross", "comment": null}, "outbound_click_1": {"type": "integer", "index": 26, "name": "outbound_click_1", "comment": null}, "paid_impression": {"type": "integer", "index": 27, "name": "paid_impression", "comment": null}, "pin_promotion_name": {"type": "text", "index": 28, "name": "pin_promotion_name", "comment": null}, "pin_promotion_status": {"type": "text", "index": 29, "name": "pin_promotion_status", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 30, "name": "spend_in_micro_dollar", "comment": null}, "targeting_type": {"type": "text", "index": 31, "name": "targeting_type", "comment": null}, "targeting_value": {"type": "text", "index": 32, "name": "targeting_value", "comment": null}, "total_engagement": {"type": "integer", "index": 33, "name": "total_engagement", "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.pinterest_source_integration_tests.keyword_report_data"}, "seed.pinterest_source_integration_tests.pin_promotion_history_data": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "pin_promotion_history_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "ad_group_id": {"type": "bigint", "index": 2, "name": "ad_group_id", "comment": null}, "created_time": {"type": "text", "index": 3, "name": "created_time", "comment": null}, "destination_url": {"type": "text", "index": 4, "name": "destination_url", "comment": null}, "name": {"type": "text", "index": 5, "name": "name", "comment": null}, "pin_id": {"type": "bigint", "index": 6, "name": "pin_id", "comment": null}, "status": {"type": "text", "index": 7, "name": "status", "comment": null}, "creative_type": {"type": "text", "index": 8, "name": "creative_type", "comment": null}, "_fivetran_synced": {"type": "text", "index": 9, "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.pinterest_source_integration_tests.pin_promotion_history_data"}, "seed.pinterest_source_integration_tests.pin_promotion_report_data": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "pin_promotion_report_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"date": {"type": "text", "index": 1, "name": "date", "comment": null}, "pin_promotion_id": {"type": "bigint", "index": 2, "name": "pin_promotion_id", "comment": null}, "ad_group_id": {"type": "bigint", "index": 3, "name": "ad_group_id", "comment": null}, "campaign_id": {"type": "bigint", "index": 4, "name": "campaign_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 5, "name": "advertiser_id", "comment": null}, "_fivetran_synced": {"type": "text", "index": 6, "name": "_fivetran_synced", "comment": null}, "impression_1": {"type": "integer", "index": 7, "name": "impression_1", "comment": null}, "impression_2": {"type": "integer", "index": 8, "name": "impression_2", "comment": null}, "clickthrough_1": {"type": "integer", "index": 9, "name": "clickthrough_1", "comment": null}, "clickthrough_2": {"type": "integer", "index": 10, "name": "clickthrough_2", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 11, "name": "spend_in_micro_dollar", "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.pinterest_source_integration_tests.pin_promotion_report_data"}, "model.pinterest_source.stg_pinterest_ads__ad_group_history": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__ad_group_history", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"ad_group_id": {"type": "bigint", "index": 1, "name": "ad_group_id", "comment": null}, "ad_group_name": {"type": "text", "index": 2, "name": "ad_group_name", "comment": null}, "ad_group_status": {"type": "text", "index": 3, "name": "ad_group_status", "comment": null}, "_fivetran_synced": {"type": "text", "index": 4, "name": "_fivetran_synced", "comment": null}, "campaign_id": {"type": "bigint", "index": 5, "name": "campaign_id", "comment": null}, "created_at": {"type": "text", "index": 6, "name": "created_at", "comment": null}, "end_time": {"type": "integer", "index": 7, "name": "end_time", "comment": null}, "start_time": {"type": "text", "index": 8, "name": "start_time", "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.pinterest_source.stg_pinterest_ads__ad_group_history"}, "model.pinterest_source.stg_pinterest_ads__ad_group_history_tmp": {"metadata": {"type": "VIEW", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__ad_group_history_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "campaign_id": {"type": "bigint", "index": 2, "name": "campaign_id", "comment": null}, "created_time": {"type": "text", "index": 3, "name": "created_time", "comment": null}, "name": {"type": "text", "index": 4, "name": "name", "comment": null}, "status": {"type": "text", "index": 5, "name": "status", "comment": null}, "start_time": {"type": "text", "index": 6, "name": "start_time", "comment": null}, "end_time": {"type": "integer", "index": 7, "name": "end_time", "comment": null}, "_fivetran_synced": {"type": "text", "index": 8, "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.pinterest_source.stg_pinterest_ads__ad_group_history_tmp"}, "model.pinterest_source.stg_pinterest_ads__ad_group_report": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__ad_group_report", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"date_day": {"type": "timestamp without time zone", "index": 1, "name": "date_day", "comment": null}, "ad_group_id": {"type": "bigint", "index": 2, "name": "ad_group_id", "comment": null}, "ad_group_name": {"type": "text", "index": 3, "name": "ad_group_name", "comment": null}, "ad_group_status": {"type": "text", "index": 4, "name": "ad_group_status", "comment": null}, "campaign_id": {"type": "bigint", "index": 5, "name": "campaign_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 6, "name": "advertiser_id", "comment": null}, "impressions": {"type": "integer", "index": 7, "name": "impressions", "comment": null}, "clicks": {"type": "integer", "index": 8, "name": "clicks", "comment": null}, "spend": {"type": "numeric", "index": 9, "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.pinterest_source.stg_pinterest_ads__ad_group_report"}, "model.pinterest_source.stg_pinterest_ads__ad_group_report_tmp": {"metadata": {"type": "VIEW", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__ad_group_report_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"ad_group_id": {"type": "bigint", "index": 1, "name": "ad_group_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 2, "name": "advertiser_id", "comment": null}, "date": {"type": "timestamp without time zone", "index": 3, "name": "date", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 4, "name": "_fivetran_synced", "comment": null}, "ad_group_name": {"type": "text", "index": 5, "name": "ad_group_name", "comment": null}, "ad_group_status": {"type": "text", "index": 6, "name": "ad_group_status", "comment": null}, "campaign_daily_spend_cap": {"type": "integer", "index": 7, "name": "campaign_daily_spend_cap", "comment": null}, "campaign_id": {"type": "bigint", "index": 8, "name": "campaign_id", "comment": null}, "campaign_lifetime_spend_cap": {"type": "integer", "index": 9, "name": "campaign_lifetime_spend_cap", "comment": null}, "campaign_name": {"type": "text", "index": 10, "name": "campaign_name", "comment": null}, "campaign_status": {"type": "text", "index": 11, "name": "campaign_status", "comment": null}, "clickthrough_1": {"type": "integer", "index": 12, "name": "clickthrough_1", "comment": null}, "clickthrough_1_gross": {"type": "integer", "index": 13, "name": "clickthrough_1_gross", "comment": null}, "cpc_in_micro_dollar": {"type": "double precision", "index": 14, "name": "cpc_in_micro_dollar", "comment": null}, "cpm_in_micro_dollar": {"type": "double precision", "index": 15, "name": "cpm_in_micro_dollar", "comment": null}, "ctr": {"type": "double precision", "index": 16, "name": "ctr", "comment": null}, "ecpc_in_micro_dollar": {"type": "double precision", "index": 17, "name": "ecpc_in_micro_dollar", "comment": null}, "ecpm_in_micro_dollar": {"type": "double precision", "index": 18, "name": "ecpm_in_micro_dollar", "comment": null}, "ectr": {"type": "double precision", "index": 19, "name": "ectr", "comment": null}, "engagement_1": {"type": "integer", "index": 20, "name": "engagement_1", "comment": null}, "impression_1": {"type": "integer", "index": 21, "name": "impression_1", "comment": null}, "impression_1_gross": {"type": "integer", "index": 22, "name": "impression_1_gross", "comment": null}, "outbound_click_1": {"type": "integer", "index": 23, "name": "outbound_click_1", "comment": null}, "paid_impression": {"type": "integer", "index": 24, "name": "paid_impression", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 25, "name": "spend_in_micro_dollar", "comment": null}, "total_engagement": {"type": "integer", "index": 26, "name": "total_engagement", "comment": null}, "total_impression_frequency": {"type": "double precision", "index": 27, "name": "total_impression_frequency", "comment": null}, "total_impression_user": {"type": "integer", "index": 28, "name": "total_impression_user", "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.pinterest_source.stg_pinterest_ads__ad_group_report_tmp"}, "model.pinterest_source.stg_pinterest_ads__advertiser_history": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__advertiser_history", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"advertiser_id": {"type": "bigint", "index": 1, "name": "advertiser_id", "comment": null}, "advertiser_name": {"type": "text", "index": 2, "name": "advertiser_name", "comment": null}, "advertiser_status": {"type": "text", "index": 3, "name": "advertiser_status", "comment": null}, "billing_profile_status": {"type": "text", "index": 4, "name": "billing_profile_status", "comment": null}, "billing_type": {"type": "text", "index": 5, "name": "billing_type", "comment": null}, "country": {"type": "text", "index": 6, "name": "country", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 7, "name": "created_at", "comment": null}, "currency_code": {"type": "text", "index": 8, "name": "currency_code", "comment": null}, "merchant_id": {"type": "integer", "index": 9, "name": "merchant_id", "comment": null}, "owner_user_id": {"type": "integer", "index": 10, "name": "owner_user_id", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 11, "name": "updated_at", "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.pinterest_source.stg_pinterest_ads__advertiser_history"}, "model.pinterest_source.stg_pinterest_ads__advertiser_history_tmp": {"metadata": {"type": "VIEW", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__advertiser_history_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "updated_time": {"type": "timestamp without time zone", "index": 2, "name": "updated_time", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "billing_profile_status": {"type": "text", "index": 4, "name": "billing_profile_status", "comment": null}, "billing_type": {"type": "text", "index": 5, "name": "billing_type", "comment": null}, "country": {"type": "text", "index": 6, "name": "country", "comment": null}, "created_time": {"type": "timestamp without time zone", "index": 7, "name": "created_time", "comment": null}, "currency": {"type": "text", "index": 8, "name": "currency", "comment": null}, "merchant_id": {"type": "integer", "index": 9, "name": "merchant_id", "comment": null}, "name": {"type": "text", "index": 10, "name": "name", "comment": null}, "owner_user_id": {"type": "integer", "index": 11, "name": "owner_user_id", "comment": null}, "status": {"type": "text", "index": 12, "name": "status", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.pinterest_source.stg_pinterest_ads__advertiser_history_tmp"}, "model.pinterest_source.stg_pinterest_ads__advertiser_report": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__advertiser_report", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"date_day": {"type": "timestamp without time zone", "index": 1, "name": "date_day", "comment": null}, "advertiser_id": {"type": "bigint", "index": 2, "name": "advertiser_id", "comment": null}, "impressions": {"type": "integer", "index": 3, "name": "impressions", "comment": null}, "clicks": {"type": "integer", "index": 4, "name": "clicks", "comment": null}, "spend": {"type": "numeric", "index": 5, "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.pinterest_source.stg_pinterest_ads__advertiser_report"}, "model.pinterest_source.stg_pinterest_ads__advertiser_report_tmp": {"metadata": {"type": "VIEW", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__advertiser_report_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"advertiser_id": {"type": "bigint", "index": 1, "name": "advertiser_id", "comment": null}, "date": {"type": "timestamp without time zone", "index": 2, "name": "date", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "clickthrough_1": {"type": "integer", "index": 4, "name": "clickthrough_1", "comment": null}, "clickthrough_1_gross": {"type": "integer", "index": 5, "name": "clickthrough_1_gross", "comment": null}, "cpc_in_micro_dollar": {"type": "double precision", "index": 6, "name": "cpc_in_micro_dollar", "comment": null}, "cpm_in_micro_dollar": {"type": "double precision", "index": 7, "name": "cpm_in_micro_dollar", "comment": null}, "ctr": {"type": "double precision", "index": 8, "name": "ctr", "comment": null}, "ecpc_in_micro_dollar": {"type": "double precision", "index": 9, "name": "ecpc_in_micro_dollar", "comment": null}, "ecpm_in_micro_dollar": {"type": "double precision", "index": 10, "name": "ecpm_in_micro_dollar", "comment": null}, "ectr": {"type": "double precision", "index": 11, "name": "ectr", "comment": null}, "engagement_1": {"type": "integer", "index": 12, "name": "engagement_1", "comment": null}, "impression_1": {"type": "integer", "index": 13, "name": "impression_1", "comment": null}, "impression_1_gross": {"type": "integer", "index": 14, "name": "impression_1_gross", "comment": null}, "outbound_click_1": {"type": "integer", "index": 15, "name": "outbound_click_1", "comment": null}, "paid_impression": {"type": "integer", "index": 16, "name": "paid_impression", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 17, "name": "spend_in_micro_dollar", "comment": null}, "total_engagement": {"type": "integer", "index": 18, "name": "total_engagement", "comment": null}, "total_impression_frequency": {"type": "double precision", "index": 19, "name": "total_impression_frequency", "comment": null}, "total_impression_user": {"type": "integer", "index": 20, "name": "total_impression_user", "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.pinterest_source.stg_pinterest_ads__advertiser_report_tmp"}, "model.pinterest_source.stg_pinterest_ads__campaign_history": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__campaign_history", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"campaign_id": {"type": "bigint", "index": 1, "name": "campaign_id", "comment": null}, "campaign_name": {"type": "text", "index": 2, "name": "campaign_name", "comment": null}, "advertiser_id": {"type": "bigint", "index": 3, "name": "advertiser_id", "comment": null}, "campaign_status": {"type": "text", "index": 4, "name": "campaign_status", "comment": null}, "_fivetran_synced": {"type": "text", "index": 5, "name": "_fivetran_synced", "comment": null}, "created_at": {"type": "text", "index": 6, "name": "created_at", "comment": null}, "is_most_recent_record": {"type": "boolean", "index": 7, "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.pinterest_source.stg_pinterest_ads__campaign_history"}, "model.pinterest_source.stg_pinterest_ads__campaign_history_tmp": {"metadata": {"type": "VIEW", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__campaign_history_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "created_time": {"type": "text", "index": 2, "name": "created_time", "comment": null}, "name": {"type": "text", "index": 3, "name": "name", "comment": null}, "status": {"type": "text", "index": 4, "name": "status", "comment": null}, "_fivetran_synced": {"type": "text", "index": 5, "name": "_fivetran_synced", "comment": null}, "advertiser_id": {"type": "bigint", "index": 6, "name": "advertiser_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.pinterest_source.stg_pinterest_ads__campaign_history_tmp"}, "model.pinterest_source.stg_pinterest_ads__campaign_report": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__campaign_report", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"date_day": {"type": "timestamp without time zone", "index": 1, "name": "date_day", "comment": null}, "campaign_id": {"type": "bigint", "index": 2, "name": "campaign_id", "comment": null}, "campaign_name": {"type": "text", "index": 3, "name": "campaign_name", "comment": null}, "campaign_status": {"type": "text", "index": 4, "name": "campaign_status", "comment": null}, "advertiser_id": {"type": "bigint", "index": 5, "name": "advertiser_id", "comment": null}, "impressions": {"type": "integer", "index": 6, "name": "impressions", "comment": null}, "clicks": {"type": "integer", "index": 7, "name": "clicks", "comment": null}, "spend": {"type": "numeric", "index": 8, "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.pinterest_source.stg_pinterest_ads__campaign_report"}, "model.pinterest_source.stg_pinterest_ads__campaign_report_tmp": {"metadata": {"type": "VIEW", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__campaign_report_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"advertiser_id": {"type": "bigint", "index": 1, "name": "advertiser_id", "comment": null}, "campaign_id": {"type": "bigint", "index": 2, "name": "campaign_id", "comment": null}, "date": {"type": "timestamp without time zone", "index": 3, "name": "date", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 4, "name": "_fivetran_synced", "comment": null}, "campaign_daily_spend_cap": {"type": "integer", "index": 5, "name": "campaign_daily_spend_cap", "comment": null}, "campaign_lifetime_spend_cap": {"type": "integer", "index": 6, "name": "campaign_lifetime_spend_cap", "comment": null}, "campaign_name": {"type": "text", "index": 7, "name": "campaign_name", "comment": null}, "campaign_status": {"type": "text", "index": 8, "name": "campaign_status", "comment": null}, "clickthrough_1": {"type": "integer", "index": 9, "name": "clickthrough_1", "comment": null}, "clickthrough_1_gross": {"type": "integer", "index": 10, "name": "clickthrough_1_gross", "comment": null}, "cpc_in_micro_dollar": {"type": "double precision", "index": 11, "name": "cpc_in_micro_dollar", "comment": null}, "cpm_in_micro_dollar": {"type": "double precision", "index": 12, "name": "cpm_in_micro_dollar", "comment": null}, "ctr": {"type": "double precision", "index": 13, "name": "ctr", "comment": null}, "ecpc_in_micro_dollar": {"type": "double precision", "index": 14, "name": "ecpc_in_micro_dollar", "comment": null}, "ecpm_in_micro_dollar": {"type": "double precision", "index": 15, "name": "ecpm_in_micro_dollar", "comment": null}, "ectr": {"type": "double precision", "index": 16, "name": "ectr", "comment": null}, "engagement_1": {"type": "integer", "index": 17, "name": "engagement_1", "comment": null}, "impression_1": {"type": "integer", "index": 18, "name": "impression_1", "comment": null}, "impression_1_gross": {"type": "integer", "index": 19, "name": "impression_1_gross", "comment": null}, "outbound_click_1": {"type": "integer", "index": 20, "name": "outbound_click_1", "comment": null}, "paid_impression": {"type": "integer", "index": 21, "name": "paid_impression", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 22, "name": "spend_in_micro_dollar", "comment": null}, "total_engagement": {"type": "integer", "index": 23, "name": "total_engagement", "comment": null}, "total_impression_frequency": {"type": "double precision", "index": 24, "name": "total_impression_frequency", "comment": null}, "total_impression_user": {"type": "integer", "index": 25, "name": "total_impression_user", "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.pinterest_source.stg_pinterest_ads__campaign_report_tmp"}, "model.pinterest_source.stg_pinterest_ads__keyword_history": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__keyword_history", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"keyword_id": {"type": "bigint", "index": 1, "name": "keyword_id", "comment": null}, "keyword_value": {"type": "text", "index": 2, "name": "keyword_value", "comment": null}, "_fivetran_id": {"type": "text", "index": 3, "name": "_fivetran_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 4, "name": "_fivetran_synced", "comment": null}, "ad_group_id": {"type": "bigint", "index": 5, "name": "ad_group_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 6, "name": "advertiser_id", "comment": null}, "archived": {"type": "boolean", "index": 7, "name": "archived", "comment": null}, "bid": {"type": "integer", "index": 8, "name": "bid", "comment": null}, "campaign_id": {"type": "bigint", "index": 9, "name": "campaign_id", "comment": null}, "match_type": {"type": "text", "index": 10, "name": "match_type", "comment": null}, "parent_type": {"type": "text", "index": 11, "name": "parent_type", "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.pinterest_source.stg_pinterest_ads__keyword_history"}, "model.pinterest_source.stg_pinterest_ads__keyword_history_tmp": {"metadata": {"type": "VIEW", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__keyword_history_tmp", "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}, "ad_group_id": {"type": "bigint", "index": 3, "name": "ad_group_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 4, "name": "advertiser_id", "comment": null}, "archived": {"type": "boolean", "index": 5, "name": "archived", "comment": null}, "bid": {"type": "integer", "index": 6, "name": "bid", "comment": null}, "campaign_id": {"type": "bigint", "index": 7, "name": "campaign_id", "comment": null}, "id": {"type": "bigint", "index": 8, "name": "id", "comment": null}, "match_type": {"type": "text", "index": 9, "name": "match_type", "comment": null}, "parent_type": {"type": "text", "index": 10, "name": "parent_type", "comment": null}, "value": {"type": "text", "index": 11, "name": "value", "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.pinterest_source.stg_pinterest_ads__keyword_history_tmp"}, "model.pinterest_source.stg_pinterest_ads__keyword_report": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__keyword_report", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"date_day": {"type": "timestamp without time zone", "index": 1, "name": "date_day", "comment": null}, "keyword_id": {"type": "bigint", "index": 2, "name": "keyword_id", "comment": null}, "pin_promotion_id": {"type": "bigint", "index": 3, "name": "pin_promotion_id", "comment": null}, "ad_group_id": {"type": "bigint", "index": 4, "name": "ad_group_id", "comment": null}, "ad_group_name": {"type": "text", "index": 5, "name": "ad_group_name", "comment": null}, "ad_group_status": {"type": "text", "index": 6, "name": "ad_group_status", "comment": null}, "campaign_id": {"type": "bigint", "index": 7, "name": "campaign_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 8, "name": "advertiser_id", "comment": null}, "impressions": {"type": "integer", "index": 9, "name": "impressions", "comment": null}, "clicks": {"type": "integer", "index": 10, "name": "clicks", "comment": null}, "spend": {"type": "numeric", "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.pinterest_source.stg_pinterest_ads__keyword_report"}, "model.pinterest_source.stg_pinterest_ads__keyword_report_tmp": {"metadata": {"type": "VIEW", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__keyword_report_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"ad_group_id": {"type": "bigint", "index": 1, "name": "ad_group_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 2, "name": "advertiser_id", "comment": null}, "campaign_id": {"type": "bigint", "index": 3, "name": "campaign_id", "comment": null}, "date": {"type": "timestamp without time zone", "index": 4, "name": "date", "comment": null}, "keyword_id": {"type": "bigint", "index": 5, "name": "keyword_id", "comment": null}, "pin_id": {"type": "bigint", "index": 6, "name": "pin_id", "comment": null}, "pin_promotion_id": {"type": "bigint", "index": 7, "name": "pin_promotion_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 8, "name": "_fivetran_synced", "comment": null}, "ad_group_name": {"type": "text", "index": 9, "name": "ad_group_name", "comment": null}, "ad_group_status": {"type": "text", "index": 10, "name": "ad_group_status", "comment": null}, "campaign_daily_spend_cap": {"type": "integer", "index": 11, "name": "campaign_daily_spend_cap", "comment": null}, "campaign_lifetime_spend_cap": {"type": "integer", "index": 12, "name": "campaign_lifetime_spend_cap", "comment": null}, "campaign_name": {"type": "text", "index": 13, "name": "campaign_name", "comment": null}, "campaign_status": {"type": "text", "index": 14, "name": "campaign_status", "comment": null}, "clickthrough_1": {"type": "integer", "index": 15, "name": "clickthrough_1", "comment": null}, "clickthrough_1_gross": {"type": "integer", "index": 16, "name": "clickthrough_1_gross", "comment": null}, "cpc_in_micro_dollar": {"type": "integer", "index": 17, "name": "cpc_in_micro_dollar", "comment": null}, "cpm_in_micro_dollar": {"type": "double precision", "index": 18, "name": "cpm_in_micro_dollar", "comment": null}, "ctr": {"type": "integer", "index": 19, "name": "ctr", "comment": null}, "ecpc_in_micro_dollar": {"type": "integer", "index": 20, "name": "ecpc_in_micro_dollar", "comment": null}, "ecpm_in_micro_dollar": {"type": "double precision", "index": 21, "name": "ecpm_in_micro_dollar", "comment": null}, "ectr": {"type": "integer", "index": 22, "name": "ectr", "comment": null}, "engagement_1": {"type": "integer", "index": 23, "name": "engagement_1", "comment": null}, "impression_1": {"type": "integer", "index": 24, "name": "impression_1", "comment": null}, "impression_1_gross": {"type": "integer", "index": 25, "name": "impression_1_gross", "comment": null}, "outbound_click_1": {"type": "integer", "index": 26, "name": "outbound_click_1", "comment": null}, "paid_impression": {"type": "integer", "index": 27, "name": "paid_impression", "comment": null}, "pin_promotion_name": {"type": "text", "index": 28, "name": "pin_promotion_name", "comment": null}, "pin_promotion_status": {"type": "text", "index": 29, "name": "pin_promotion_status", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 30, "name": "spend_in_micro_dollar", "comment": null}, "targeting_type": {"type": "text", "index": 31, "name": "targeting_type", "comment": null}, "targeting_value": {"type": "text", "index": 32, "name": "targeting_value", "comment": null}, "total_engagement": {"type": "integer", "index": 33, "name": "total_engagement", "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.pinterest_source.stg_pinterest_ads__keyword_report_tmp"}, "model.pinterest_source.stg_pinterest_ads__pin_promotion_history": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__pin_promotion_history", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"pin_promotion_id": {"type": "bigint", "index": 1, "name": "pin_promotion_id", "comment": null}, "ad_group_id": {"type": "bigint", "index": 2, "name": "ad_group_id", "comment": null}, "created_at": {"type": "text", "index": 3, "name": "created_at", "comment": null}, "destination_url": {"type": "text", "index": 4, "name": "destination_url", "comment": null}, "base_url": {"type": "text", "index": 5, "name": "base_url", "comment": null}, "url_host": {"type": "character varying", "index": 6, "name": "url_host", "comment": null}, "url_path": {"type": "text", "index": 7, "name": "url_path", "comment": null}, "utm_source": {"type": "text", "index": 8, "name": "utm_source", "comment": null}, "utm_medium": {"type": "text", "index": 9, "name": "utm_medium", "comment": null}, "utm_campaign": {"type": "text", "index": 10, "name": "utm_campaign", "comment": null}, "utm_content": {"type": "text", "index": 11, "name": "utm_content", "comment": null}, "utm_term": {"type": "text", "index": 12, "name": "utm_term", "comment": null}, "pin_name": {"type": "text", "index": 13, "name": "pin_name", "comment": null}, "pin_id": {"type": "bigint", "index": 14, "name": "pin_id", "comment": null}, "pin_status": {"type": "text", "index": 15, "name": "pin_status", "comment": null}, "creative_type": {"type": "text", "index": 16, "name": "creative_type", "comment": null}, "_fivetran_synced": {"type": "text", "index": 17, "name": "_fivetran_synced", "comment": null}, "is_most_recent_record": {"type": "boolean", "index": 18, "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.pinterest_source.stg_pinterest_ads__pin_promotion_history"}, "model.pinterest_source.stg_pinterest_ads__pin_promotion_history_tmp": {"metadata": {"type": "VIEW", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__pin_promotion_history_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "ad_group_id": {"type": "bigint", "index": 2, "name": "ad_group_id", "comment": null}, "created_time": {"type": "text", "index": 3, "name": "created_time", "comment": null}, "destination_url": {"type": "text", "index": 4, "name": "destination_url", "comment": null}, "name": {"type": "text", "index": 5, "name": "name", "comment": null}, "pin_id": {"type": "bigint", "index": 6, "name": "pin_id", "comment": null}, "status": {"type": "text", "index": 7, "name": "status", "comment": null}, "creative_type": {"type": "text", "index": 8, "name": "creative_type", "comment": null}, "_fivetran_synced": {"type": "text", "index": 9, "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.pinterest_source.stg_pinterest_ads__pin_promotion_history_tmp"}, "model.pinterest_source.stg_pinterest_ads__pin_promotion_report": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__pin_promotion_report", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"date_day": {"type": "text", "index": 1, "name": "date_day", "comment": null}, "pin_promotion_id": {"type": "bigint", "index": 2, "name": "pin_promotion_id", "comment": null}, "ad_group_id": {"type": "bigint", "index": 3, "name": "ad_group_id", "comment": null}, "campaign_id": {"type": "bigint", "index": 4, "name": "campaign_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 5, "name": "advertiser_id", "comment": null}, "impressions": {"type": "integer", "index": 6, "name": "impressions", "comment": null}, "clicks": {"type": "integer", "index": 7, "name": "clicks", "comment": null}, "spend": {"type": "numeric", "index": 8, "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.pinterest_source.stg_pinterest_ads__pin_promotion_report"}, "model.pinterest_source.stg_pinterest_ads__pin_promotion_report_tmp": {"metadata": {"type": "VIEW", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__pin_promotion_report_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"date": {"type": "text", "index": 1, "name": "date", "comment": null}, "pin_promotion_id": {"type": "bigint", "index": 2, "name": "pin_promotion_id", "comment": null}, "ad_group_id": {"type": "bigint", "index": 3, "name": "ad_group_id", "comment": null}, "campaign_id": {"type": "bigint", "index": 4, "name": "campaign_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 5, "name": "advertiser_id", "comment": null}, "_fivetran_synced": {"type": "text", "index": 6, "name": "_fivetran_synced", "comment": null}, "impression_1": {"type": "integer", "index": 7, "name": "impression_1", "comment": null}, "impression_2": {"type": "integer", "index": 8, "name": "impression_2", "comment": null}, "clickthrough_1": {"type": "integer", "index": 9, "name": "clickthrough_1", "comment": null}, "clickthrough_2": {"type": "integer", "index": 10, "name": "clickthrough_2", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 11, "name": "spend_in_micro_dollar", "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.pinterest_source.stg_pinterest_ads__pin_promotion_report_tmp"}}, "sources": {"source.pinterest_source.pinterest_ads.ad_group_history": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "ad_group_history_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "campaign_id": {"type": "bigint", "index": 2, "name": "campaign_id", "comment": null}, "created_time": {"type": "text", "index": 3, "name": "created_time", "comment": null}, "name": {"type": "text", "index": 4, "name": "name", "comment": null}, "status": {"type": "text", "index": 5, "name": "status", "comment": null}, "start_time": {"type": "text", "index": 6, "name": "start_time", "comment": null}, "end_time": {"type": "integer", "index": 7, "name": "end_time", "comment": null}, "_fivetran_synced": {"type": "text", "index": 8, "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.pinterest_source.pinterest_ads.ad_group_history"}, "source.pinterest_source.pinterest_ads.ad_group_report": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "ad_group_report_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"ad_group_id": {"type": "bigint", "index": 1, "name": "ad_group_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 2, "name": "advertiser_id", "comment": null}, "date": {"type": "timestamp without time zone", "index": 3, "name": "date", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 4, "name": "_fivetran_synced", "comment": null}, "ad_group_name": {"type": "text", "index": 5, "name": "ad_group_name", "comment": null}, "ad_group_status": {"type": "text", "index": 6, "name": "ad_group_status", "comment": null}, "campaign_daily_spend_cap": {"type": "integer", "index": 7, "name": "campaign_daily_spend_cap", "comment": null}, "campaign_id": {"type": "bigint", "index": 8, "name": "campaign_id", "comment": null}, "campaign_lifetime_spend_cap": {"type": "integer", "index": 9, "name": "campaign_lifetime_spend_cap", "comment": null}, "campaign_name": {"type": "text", "index": 10, "name": "campaign_name", "comment": null}, "campaign_status": {"type": "text", "index": 11, "name": "campaign_status", "comment": null}, "clickthrough_1": {"type": "integer", "index": 12, "name": "clickthrough_1", "comment": null}, "clickthrough_1_gross": {"type": "integer", "index": 13, "name": "clickthrough_1_gross", "comment": null}, "cpc_in_micro_dollar": {"type": "double precision", "index": 14, "name": "cpc_in_micro_dollar", "comment": null}, "cpm_in_micro_dollar": {"type": "double precision", "index": 15, "name": "cpm_in_micro_dollar", "comment": null}, "ctr": {"type": "double precision", "index": 16, "name": "ctr", "comment": null}, "ecpc_in_micro_dollar": {"type": "double precision", "index": 17, "name": "ecpc_in_micro_dollar", "comment": null}, "ecpm_in_micro_dollar": {"type": "double precision", "index": 18, "name": "ecpm_in_micro_dollar", "comment": null}, "ectr": {"type": "double precision", "index": 19, "name": "ectr", "comment": null}, "engagement_1": {"type": "integer", "index": 20, "name": "engagement_1", "comment": null}, "impression_1": {"type": "integer", "index": 21, "name": "impression_1", "comment": null}, "impression_1_gross": {"type": "integer", "index": 22, "name": "impression_1_gross", "comment": null}, "outbound_click_1": {"type": "integer", "index": 23, "name": "outbound_click_1", "comment": null}, "paid_impression": {"type": "integer", "index": 24, "name": "paid_impression", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 25, "name": "spend_in_micro_dollar", "comment": null}, "total_engagement": {"type": "integer", "index": 26, "name": "total_engagement", "comment": null}, "total_impression_frequency": {"type": "double precision", "index": 27, "name": "total_impression_frequency", "comment": null}, "total_impression_user": {"type": "integer", "index": 28, "name": "total_impression_user", "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.pinterest_source.pinterest_ads.ad_group_report"}, "source.pinterest_source.pinterest_ads.advertiser_history": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "advertiser_history_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "updated_time": {"type": "timestamp without time zone", "index": 2, "name": "updated_time", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "billing_profile_status": {"type": "text", "index": 4, "name": "billing_profile_status", "comment": null}, "billing_type": {"type": "text", "index": 5, "name": "billing_type", "comment": null}, "country": {"type": "text", "index": 6, "name": "country", "comment": null}, "created_time": {"type": "timestamp without time zone", "index": 7, "name": "created_time", "comment": null}, "currency": {"type": "text", "index": 8, "name": "currency", "comment": null}, "merchant_id": {"type": "integer", "index": 9, "name": "merchant_id", "comment": null}, "name": {"type": "text", "index": 10, "name": "name", "comment": null}, "owner_user_id": {"type": "integer", "index": 11, "name": "owner_user_id", "comment": null}, "status": {"type": "text", "index": 12, "name": "status", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.pinterest_source.pinterest_ads.advertiser_history"}, "source.pinterest_source.pinterest_ads.advertiser_report": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "advertiser_report_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"advertiser_id": {"type": "bigint", "index": 1, "name": "advertiser_id", "comment": null}, "date": {"type": "timestamp without time zone", "index": 2, "name": "date", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "clickthrough_1": {"type": "integer", "index": 4, "name": "clickthrough_1", "comment": null}, "clickthrough_1_gross": {"type": "integer", "index": 5, "name": "clickthrough_1_gross", "comment": null}, "cpc_in_micro_dollar": {"type": "double precision", "index": 6, "name": "cpc_in_micro_dollar", "comment": null}, "cpm_in_micro_dollar": {"type": "double precision", "index": 7, "name": "cpm_in_micro_dollar", "comment": null}, "ctr": {"type": "double precision", "index": 8, "name": "ctr", "comment": null}, "ecpc_in_micro_dollar": {"type": "double precision", "index": 9, "name": "ecpc_in_micro_dollar", "comment": null}, "ecpm_in_micro_dollar": {"type": "double precision", "index": 10, "name": "ecpm_in_micro_dollar", "comment": null}, "ectr": {"type": "double precision", "index": 11, "name": "ectr", "comment": null}, "engagement_1": {"type": "integer", "index": 12, "name": "engagement_1", "comment": null}, "impression_1": {"type": "integer", "index": 13, "name": "impression_1", "comment": null}, "impression_1_gross": {"type": "integer", "index": 14, "name": "impression_1_gross", "comment": null}, "outbound_click_1": {"type": "integer", "index": 15, "name": "outbound_click_1", "comment": null}, "paid_impression": {"type": "integer", "index": 16, "name": "paid_impression", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 17, "name": "spend_in_micro_dollar", "comment": null}, "total_engagement": {"type": "integer", "index": 18, "name": "total_engagement", "comment": null}, "total_impression_frequency": {"type": "double precision", "index": 19, "name": "total_impression_frequency", "comment": null}, "total_impression_user": {"type": "integer", "index": 20, "name": "total_impression_user", "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.pinterest_source.pinterest_ads.advertiser_report"}, "source.pinterest_source.pinterest_ads.campaign_history": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "campaign_history_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "created_time": {"type": "text", "index": 2, "name": "created_time", "comment": null}, "name": {"type": "text", "index": 3, "name": "name", "comment": null}, "status": {"type": "text", "index": 4, "name": "status", "comment": null}, "_fivetran_synced": {"type": "text", "index": 5, "name": "_fivetran_synced", "comment": null}, "advertiser_id": {"type": "bigint", "index": 6, "name": "advertiser_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.pinterest_source.pinterest_ads.campaign_history"}, "source.pinterest_source.pinterest_ads.campaign_report": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "campaign_report_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"advertiser_id": {"type": "bigint", "index": 1, "name": "advertiser_id", "comment": null}, "campaign_id": {"type": "bigint", "index": 2, "name": "campaign_id", "comment": null}, "date": {"type": "timestamp without time zone", "index": 3, "name": "date", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 4, "name": "_fivetran_synced", "comment": null}, "campaign_daily_spend_cap": {"type": "integer", "index": 5, "name": "campaign_daily_spend_cap", "comment": null}, "campaign_lifetime_spend_cap": {"type": "integer", "index": 6, "name": "campaign_lifetime_spend_cap", "comment": null}, "campaign_name": {"type": "text", "index": 7, "name": "campaign_name", "comment": null}, "campaign_status": {"type": "text", "index": 8, "name": "campaign_status", "comment": null}, "clickthrough_1": {"type": "integer", "index": 9, "name": "clickthrough_1", "comment": null}, "clickthrough_1_gross": {"type": "integer", "index": 10, "name": "clickthrough_1_gross", "comment": null}, "cpc_in_micro_dollar": {"type": "double precision", "index": 11, "name": "cpc_in_micro_dollar", "comment": null}, "cpm_in_micro_dollar": {"type": "double precision", "index": 12, "name": "cpm_in_micro_dollar", "comment": null}, "ctr": {"type": "double precision", "index": 13, "name": "ctr", "comment": null}, "ecpc_in_micro_dollar": {"type": "double precision", "index": 14, "name": "ecpc_in_micro_dollar", "comment": null}, "ecpm_in_micro_dollar": {"type": "double precision", "index": 15, "name": "ecpm_in_micro_dollar", "comment": null}, "ectr": {"type": "double precision", "index": 16, "name": "ectr", "comment": null}, "engagement_1": {"type": "integer", "index": 17, "name": "engagement_1", "comment": null}, "impression_1": {"type": "integer", "index": 18, "name": "impression_1", "comment": null}, "impression_1_gross": {"type": "integer", "index": 19, "name": "impression_1_gross", "comment": null}, "outbound_click_1": {"type": "integer", "index": 20, "name": "outbound_click_1", "comment": null}, "paid_impression": {"type": "integer", "index": 21, "name": "paid_impression", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 22, "name": "spend_in_micro_dollar", "comment": null}, "total_engagement": {"type": "integer", "index": 23, "name": "total_engagement", "comment": null}, "total_impression_frequency": {"type": "double precision", "index": 24, "name": "total_impression_frequency", "comment": null}, "total_impression_user": {"type": "integer", "index": 25, "name": "total_impression_user", "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.pinterest_source.pinterest_ads.campaign_report"}, "source.pinterest_source.pinterest_ads.keyword_history": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "keyword_history_data", "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}, "ad_group_id": {"type": "bigint", "index": 3, "name": "ad_group_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 4, "name": "advertiser_id", "comment": null}, "archived": {"type": "boolean", "index": 5, "name": "archived", "comment": null}, "bid": {"type": "integer", "index": 6, "name": "bid", "comment": null}, "campaign_id": {"type": "bigint", "index": 7, "name": "campaign_id", "comment": null}, "id": {"type": "bigint", "index": 8, "name": "id", "comment": null}, "match_type": {"type": "text", "index": 9, "name": "match_type", "comment": null}, "parent_type": {"type": "text", "index": 10, "name": "parent_type", "comment": null}, "value": {"type": "text", "index": 11, "name": "value", "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.pinterest_source.pinterest_ads.keyword_history"}, "source.pinterest_source.pinterest_ads.keyword_report": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "keyword_report_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"ad_group_id": {"type": "bigint", "index": 1, "name": "ad_group_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 2, "name": "advertiser_id", "comment": null}, "campaign_id": {"type": "bigint", "index": 3, "name": "campaign_id", "comment": null}, "date": {"type": "timestamp without time zone", "index": 4, "name": "date", "comment": null}, "keyword_id": {"type": "bigint", "index": 5, "name": "keyword_id", "comment": null}, "pin_id": {"type": "bigint", "index": 6, "name": "pin_id", "comment": null}, "pin_promotion_id": {"type": "bigint", "index": 7, "name": "pin_promotion_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 8, "name": "_fivetran_synced", "comment": null}, "ad_group_name": {"type": "text", "index": 9, "name": "ad_group_name", "comment": null}, "ad_group_status": {"type": "text", "index": 10, "name": "ad_group_status", "comment": null}, "campaign_daily_spend_cap": {"type": "integer", "index": 11, "name": "campaign_daily_spend_cap", "comment": null}, "campaign_lifetime_spend_cap": {"type": "integer", "index": 12, "name": "campaign_lifetime_spend_cap", "comment": null}, "campaign_name": {"type": "text", "index": 13, "name": "campaign_name", "comment": null}, "campaign_status": {"type": "text", "index": 14, "name": "campaign_status", "comment": null}, "clickthrough_1": {"type": "integer", "index": 15, "name": "clickthrough_1", "comment": null}, "clickthrough_1_gross": {"type": "integer", "index": 16, "name": "clickthrough_1_gross", "comment": null}, "cpc_in_micro_dollar": {"type": "integer", "index": 17, "name": "cpc_in_micro_dollar", "comment": null}, "cpm_in_micro_dollar": {"type": "double precision", "index": 18, "name": "cpm_in_micro_dollar", "comment": null}, "ctr": {"type": "integer", "index": 19, "name": "ctr", "comment": null}, "ecpc_in_micro_dollar": {"type": "integer", "index": 20, "name": "ecpc_in_micro_dollar", "comment": null}, "ecpm_in_micro_dollar": {"type": "double precision", "index": 21, "name": "ecpm_in_micro_dollar", "comment": null}, "ectr": {"type": "integer", "index": 22, "name": "ectr", "comment": null}, "engagement_1": {"type": "integer", "index": 23, "name": "engagement_1", "comment": null}, "impression_1": {"type": "integer", "index": 24, "name": "impression_1", "comment": null}, "impression_1_gross": {"type": "integer", "index": 25, "name": "impression_1_gross", "comment": null}, "outbound_click_1": {"type": "integer", "index": 26, "name": "outbound_click_1", "comment": null}, "paid_impression": {"type": "integer", "index": 27, "name": "paid_impression", "comment": null}, "pin_promotion_name": {"type": "text", "index": 28, "name": "pin_promotion_name", "comment": null}, "pin_promotion_status": {"type": "text", "index": 29, "name": "pin_promotion_status", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 30, "name": "spend_in_micro_dollar", "comment": null}, "targeting_type": {"type": "text", "index": 31, "name": "targeting_type", "comment": null}, "targeting_value": {"type": "text", "index": 32, "name": "targeting_value", "comment": null}, "total_engagement": {"type": "integer", "index": 33, "name": "total_engagement", "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.pinterest_source.pinterest_ads.keyword_report"}, "source.pinterest_source.pinterest_ads.pin_promotion_history": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "pin_promotion_history_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "ad_group_id": {"type": "bigint", "index": 2, "name": "ad_group_id", "comment": null}, "created_time": {"type": "text", "index": 3, "name": "created_time", "comment": null}, "destination_url": {"type": "text", "index": 4, "name": "destination_url", "comment": null}, "name": {"type": "text", "index": 5, "name": "name", "comment": null}, "pin_id": {"type": "bigint", "index": 6, "name": "pin_id", "comment": null}, "status": {"type": "text", "index": 7, "name": "status", "comment": null}, "creative_type": {"type": "text", "index": 8, "name": "creative_type", "comment": null}, "_fivetran_synced": {"type": "text", "index": 9, "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.pinterest_source.pinterest_ads.pin_promotion_history"}, "source.pinterest_source.pinterest_ads.pin_promotion_report": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "pin_promotion_report_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"date": {"type": "text", "index": 1, "name": "date", "comment": null}, "pin_promotion_id": {"type": "bigint", "index": 2, "name": "pin_promotion_id", "comment": null}, "ad_group_id": {"type": "bigint", "index": 3, "name": "ad_group_id", "comment": null}, "campaign_id": {"type": "bigint", "index": 4, "name": "campaign_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 5, "name": "advertiser_id", "comment": null}, "_fivetran_synced": {"type": "text", "index": 6, "name": "_fivetran_synced", "comment": null}, "impression_1": {"type": "integer", "index": 7, "name": "impression_1", "comment": null}, "impression_2": {"type": "integer", "index": 8, "name": "impression_2", "comment": null}, "clickthrough_1": {"type": "integer", "index": 9, "name": "clickthrough_1", "comment": null}, "clickthrough_2": {"type": "integer", "index": 10, "name": "clickthrough_2", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 11, "name": "spend_in_micro_dollar", "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.pinterest_source.pinterest_ads.pin_promotion_report"}}, "errors": null} \ No newline at end of file +{"metadata": {"dbt_schema_version": "https://schemas.getdbt.com/dbt/catalog/v1.json", "dbt_version": "1.0.4", "generated_at": "2022-08-26T19:13:45.943181Z", "invocation_id": "8a46fe58-7668-438b-b339-da95094a0356", "env": {}}, "nodes": {"seed.pinterest_source_integration_tests.ad_group_history_data": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "ad_group_history_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "campaign_id": {"type": "bigint", "index": 2, "name": "campaign_id", "comment": null}, "created_time": {"type": "text", "index": 3, "name": "created_time", "comment": null}, "name": {"type": "text", "index": 4, "name": "name", "comment": null}, "status": {"type": "text", "index": 5, "name": "status", "comment": null}, "start_time": {"type": "text", "index": 6, "name": "start_time", "comment": null}, "end_time": {"type": "integer", "index": 7, "name": "end_time", "comment": null}, "_fivetran_synced": {"type": "text", "index": 8, "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.pinterest_source_integration_tests.ad_group_history_data"}, "seed.pinterest_source_integration_tests.ad_group_report_data": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "ad_group_report_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"ad_group_id": {"type": "bigint", "index": 1, "name": "ad_group_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 2, "name": "advertiser_id", "comment": null}, "date": {"type": "timestamp without time zone", "index": 3, "name": "date", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 4, "name": "_fivetran_synced", "comment": null}, "ad_group_name": {"type": "text", "index": 5, "name": "ad_group_name", "comment": null}, "ad_group_status": {"type": "text", "index": 6, "name": "ad_group_status", "comment": null}, "campaign_daily_spend_cap": {"type": "integer", "index": 7, "name": "campaign_daily_spend_cap", "comment": null}, "campaign_id": {"type": "bigint", "index": 8, "name": "campaign_id", "comment": null}, "campaign_lifetime_spend_cap": {"type": "integer", "index": 9, "name": "campaign_lifetime_spend_cap", "comment": null}, "campaign_name": {"type": "text", "index": 10, "name": "campaign_name", "comment": null}, "campaign_status": {"type": "text", "index": 11, "name": "campaign_status", "comment": null}, "clickthrough_1": {"type": "integer", "index": 12, "name": "clickthrough_1", "comment": null}, "clickthrough_1_gross": {"type": "integer", "index": 13, "name": "clickthrough_1_gross", "comment": null}, "cpc_in_micro_dollar": {"type": "double precision", "index": 14, "name": "cpc_in_micro_dollar", "comment": null}, "cpm_in_micro_dollar": {"type": "double precision", "index": 15, "name": "cpm_in_micro_dollar", "comment": null}, "ctr": {"type": "double precision", "index": 16, "name": "ctr", "comment": null}, "ecpc_in_micro_dollar": {"type": "double precision", "index": 17, "name": "ecpc_in_micro_dollar", "comment": null}, "ecpm_in_micro_dollar": {"type": "double precision", "index": 18, "name": "ecpm_in_micro_dollar", "comment": null}, "ectr": {"type": "double precision", "index": 19, "name": "ectr", "comment": null}, "engagement_1": {"type": "integer", "index": 20, "name": "engagement_1", "comment": null}, "impression_1": {"type": "integer", "index": 21, "name": "impression_1", "comment": null}, "impression_1_gross": {"type": "integer", "index": 22, "name": "impression_1_gross", "comment": null}, "outbound_click_1": {"type": "integer", "index": 23, "name": "outbound_click_1", "comment": null}, "paid_impression": {"type": "integer", "index": 24, "name": "paid_impression", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 25, "name": "spend_in_micro_dollar", "comment": null}, "total_engagement": {"type": "integer", "index": 26, "name": "total_engagement", "comment": null}, "total_impression_frequency": {"type": "double precision", "index": 27, "name": "total_impression_frequency", "comment": null}, "total_impression_user": {"type": "integer", "index": 28, "name": "total_impression_user", "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.pinterest_source_integration_tests.ad_group_report_data"}, "seed.pinterest_source_integration_tests.advertiser_history_data": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "advertiser_history_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "updated_time": {"type": "timestamp without time zone", "index": 2, "name": "updated_time", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "billing_profile_status": {"type": "text", "index": 4, "name": "billing_profile_status", "comment": null}, "billing_type": {"type": "text", "index": 5, "name": "billing_type", "comment": null}, "country": {"type": "text", "index": 6, "name": "country", "comment": null}, "created_time": {"type": "timestamp without time zone", "index": 7, "name": "created_time", "comment": null}, "currency": {"type": "text", "index": 8, "name": "currency", "comment": null}, "merchant_id": {"type": "integer", "index": 9, "name": "merchant_id", "comment": null}, "name": {"type": "text", "index": 10, "name": "name", "comment": null}, "owner_user_id": {"type": "integer", "index": 11, "name": "owner_user_id", "comment": null}, "status": {"type": "text", "index": 12, "name": "status", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "seed.pinterest_source_integration_tests.advertiser_history_data"}, "seed.pinterest_source_integration_tests.advertiser_report_data": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "advertiser_report_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"advertiser_id": {"type": "bigint", "index": 1, "name": "advertiser_id", "comment": null}, "date": {"type": "timestamp without time zone", "index": 2, "name": "date", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "clickthrough_1": {"type": "integer", "index": 4, "name": "clickthrough_1", "comment": null}, "clickthrough_1_gross": {"type": "integer", "index": 5, "name": "clickthrough_1_gross", "comment": null}, "cpc_in_micro_dollar": {"type": "double precision", "index": 6, "name": "cpc_in_micro_dollar", "comment": null}, "cpm_in_micro_dollar": {"type": "double precision", "index": 7, "name": "cpm_in_micro_dollar", "comment": null}, "ctr": {"type": "double precision", "index": 8, "name": "ctr", "comment": null}, "ecpc_in_micro_dollar": {"type": "double precision", "index": 9, "name": "ecpc_in_micro_dollar", "comment": null}, "ecpm_in_micro_dollar": {"type": "double precision", "index": 10, "name": "ecpm_in_micro_dollar", "comment": null}, "ectr": {"type": "double precision", "index": 11, "name": "ectr", "comment": null}, "engagement_1": {"type": "integer", "index": 12, "name": "engagement_1", "comment": null}, "impression_1": {"type": "integer", "index": 13, "name": "impression_1", "comment": null}, "impression_1_gross": {"type": "integer", "index": 14, "name": "impression_1_gross", "comment": null}, "outbound_click_1": {"type": "integer", "index": 15, "name": "outbound_click_1", "comment": null}, "paid_impression": {"type": "integer", "index": 16, "name": "paid_impression", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 17, "name": "spend_in_micro_dollar", "comment": null}, "total_engagement": {"type": "integer", "index": 18, "name": "total_engagement", "comment": null}, "total_impression_frequency": {"type": "double precision", "index": 19, "name": "total_impression_frequency", "comment": null}, "total_impression_user": {"type": "integer", "index": 20, "name": "total_impression_user", "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.pinterest_source_integration_tests.advertiser_report_data"}, "seed.pinterest_source_integration_tests.campaign_history_data": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "campaign_history_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "created_time": {"type": "text", "index": 2, "name": "created_time", "comment": null}, "name": {"type": "text", "index": 3, "name": "name", "comment": null}, "status": {"type": "text", "index": 4, "name": "status", "comment": null}, "_fivetran_synced": {"type": "text", "index": 5, "name": "_fivetran_synced", "comment": null}, "advertiser_id": {"type": "bigint", "index": 6, "name": "advertiser_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.pinterest_source_integration_tests.campaign_history_data"}, "seed.pinterest_source_integration_tests.campaign_report_data": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "campaign_report_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"advertiser_id": {"type": "bigint", "index": 1, "name": "advertiser_id", "comment": null}, "campaign_id": {"type": "bigint", "index": 2, "name": "campaign_id", "comment": null}, "date": {"type": "timestamp without time zone", "index": 3, "name": "date", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 4, "name": "_fivetran_synced", "comment": null}, "campaign_daily_spend_cap": {"type": "integer", "index": 5, "name": "campaign_daily_spend_cap", "comment": null}, "campaign_lifetime_spend_cap": {"type": "integer", "index": 6, "name": "campaign_lifetime_spend_cap", "comment": null}, "campaign_name": {"type": "text", "index": 7, "name": "campaign_name", "comment": null}, "campaign_status": {"type": "text", "index": 8, "name": "campaign_status", "comment": null}, "clickthrough_1": {"type": "integer", "index": 9, "name": "clickthrough_1", "comment": null}, "clickthrough_1_gross": {"type": "integer", "index": 10, "name": "clickthrough_1_gross", "comment": null}, "cpc_in_micro_dollar": {"type": "double precision", "index": 11, "name": "cpc_in_micro_dollar", "comment": null}, "cpm_in_micro_dollar": {"type": "double precision", "index": 12, "name": "cpm_in_micro_dollar", "comment": null}, "ctr": {"type": "double precision", "index": 13, "name": "ctr", "comment": null}, "ecpc_in_micro_dollar": {"type": "double precision", "index": 14, "name": "ecpc_in_micro_dollar", "comment": null}, "ecpm_in_micro_dollar": {"type": "double precision", "index": 15, "name": "ecpm_in_micro_dollar", "comment": null}, "ectr": {"type": "double precision", "index": 16, "name": "ectr", "comment": null}, "engagement_1": {"type": "integer", "index": 17, "name": "engagement_1", "comment": null}, "impression_1": {"type": "integer", "index": 18, "name": "impression_1", "comment": null}, "impression_1_gross": {"type": "integer", "index": 19, "name": "impression_1_gross", "comment": null}, "outbound_click_1": {"type": "integer", "index": 20, "name": "outbound_click_1", "comment": null}, "paid_impression": {"type": "integer", "index": 21, "name": "paid_impression", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 22, "name": "spend_in_micro_dollar", "comment": null}, "total_engagement": {"type": "integer", "index": 23, "name": "total_engagement", "comment": null}, "total_impression_frequency": {"type": "double precision", "index": 24, "name": "total_impression_frequency", "comment": null}, "total_impression_user": {"type": "integer", "index": 25, "name": "total_impression_user", "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.pinterest_source_integration_tests.campaign_report_data"}, "seed.pinterest_source_integration_tests.keyword_history_data": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "keyword_history_data", "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}, "ad_group_id": {"type": "bigint", "index": 3, "name": "ad_group_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 4, "name": "advertiser_id", "comment": null}, "archived": {"type": "boolean", "index": 5, "name": "archived", "comment": null}, "bid": {"type": "integer", "index": 6, "name": "bid", "comment": null}, "campaign_id": {"type": "bigint", "index": 7, "name": "campaign_id", "comment": null}, "id": {"type": "bigint", "index": 8, "name": "id", "comment": null}, "match_type": {"type": "text", "index": 9, "name": "match_type", "comment": null}, "parent_type": {"type": "text", "index": 10, "name": "parent_type", "comment": null}, "value": {"type": "text", "index": 11, "name": "value", "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.pinterest_source_integration_tests.keyword_history_data"}, "seed.pinterest_source_integration_tests.keyword_report_data": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "keyword_report_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"ad_group_id": {"type": "bigint", "index": 1, "name": "ad_group_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 2, "name": "advertiser_id", "comment": null}, "campaign_id": {"type": "bigint", "index": 3, "name": "campaign_id", "comment": null}, "date": {"type": "timestamp without time zone", "index": 4, "name": "date", "comment": null}, "keyword_id": {"type": "bigint", "index": 5, "name": "keyword_id", "comment": null}, "pin_id": {"type": "bigint", "index": 6, "name": "pin_id", "comment": null}, "pin_promotion_id": {"type": "bigint", "index": 7, "name": "pin_promotion_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 8, "name": "_fivetran_synced", "comment": null}, "ad_group_name": {"type": "text", "index": 9, "name": "ad_group_name", "comment": null}, "ad_group_status": {"type": "text", "index": 10, "name": "ad_group_status", "comment": null}, "campaign_daily_spend_cap": {"type": "integer", "index": 11, "name": "campaign_daily_spend_cap", "comment": null}, "campaign_lifetime_spend_cap": {"type": "integer", "index": 12, "name": "campaign_lifetime_spend_cap", "comment": null}, "campaign_name": {"type": "text", "index": 13, "name": "campaign_name", "comment": null}, "campaign_status": {"type": "text", "index": 14, "name": "campaign_status", "comment": null}, "clickthrough_1": {"type": "integer", "index": 15, "name": "clickthrough_1", "comment": null}, "clickthrough_1_gross": {"type": "integer", "index": 16, "name": "clickthrough_1_gross", "comment": null}, "cpc_in_micro_dollar": {"type": "integer", "index": 17, "name": "cpc_in_micro_dollar", "comment": null}, "cpm_in_micro_dollar": {"type": "double precision", "index": 18, "name": "cpm_in_micro_dollar", "comment": null}, "ctr": {"type": "integer", "index": 19, "name": "ctr", "comment": null}, "ecpc_in_micro_dollar": {"type": "integer", "index": 20, "name": "ecpc_in_micro_dollar", "comment": null}, "ecpm_in_micro_dollar": {"type": "double precision", "index": 21, "name": "ecpm_in_micro_dollar", "comment": null}, "ectr": {"type": "integer", "index": 22, "name": "ectr", "comment": null}, "engagement_1": {"type": "integer", "index": 23, "name": "engagement_1", "comment": null}, "impression_1": {"type": "integer", "index": 24, "name": "impression_1", "comment": null}, "impression_1_gross": {"type": "integer", "index": 25, "name": "impression_1_gross", "comment": null}, "outbound_click_1": {"type": "integer", "index": 26, "name": "outbound_click_1", "comment": null}, "paid_impression": {"type": "integer", "index": 27, "name": "paid_impression", "comment": null}, "pin_promotion_name": {"type": "text", "index": 28, "name": "pin_promotion_name", "comment": null}, "pin_promotion_status": {"type": "text", "index": 29, "name": "pin_promotion_status", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 30, "name": "spend_in_micro_dollar", "comment": null}, "targeting_type": {"type": "text", "index": 31, "name": "targeting_type", "comment": null}, "targeting_value": {"type": "text", "index": 32, "name": "targeting_value", "comment": null}, "total_engagement": {"type": "integer", "index": 33, "name": "total_engagement", "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.pinterest_source_integration_tests.keyword_report_data"}, "seed.pinterest_source_integration_tests.pin_promotion_history_data": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "pin_promotion_history_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "ad_group_id": {"type": "bigint", "index": 2, "name": "ad_group_id", "comment": null}, "created_time": {"type": "text", "index": 3, "name": "created_time", "comment": null}, "destination_url": {"type": "text", "index": 4, "name": "destination_url", "comment": null}, "name": {"type": "text", "index": 5, "name": "name", "comment": null}, "pin_id": {"type": "bigint", "index": 6, "name": "pin_id", "comment": null}, "status": {"type": "text", "index": 7, "name": "status", "comment": null}, "creative_type": {"type": "text", "index": 8, "name": "creative_type", "comment": null}, "_fivetran_synced": {"type": "text", "index": 9, "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.pinterest_source_integration_tests.pin_promotion_history_data"}, "seed.pinterest_source_integration_tests.pin_promotion_report_data": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "pin_promotion_report_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"date": {"type": "text", "index": 1, "name": "date", "comment": null}, "pin_promotion_id": {"type": "bigint", "index": 2, "name": "pin_promotion_id", "comment": null}, "ad_group_id": {"type": "bigint", "index": 3, "name": "ad_group_id", "comment": null}, "campaign_id": {"type": "bigint", "index": 4, "name": "campaign_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 5, "name": "advertiser_id", "comment": null}, "_fivetran_synced": {"type": "text", "index": 6, "name": "_fivetran_synced", "comment": null}, "impression_1": {"type": "integer", "index": 7, "name": "impression_1", "comment": null}, "impression_2": {"type": "integer", "index": 8, "name": "impression_2", "comment": null}, "clickthrough_1": {"type": "integer", "index": 9, "name": "clickthrough_1", "comment": null}, "clickthrough_2": {"type": "integer", "index": 10, "name": "clickthrough_2", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 11, "name": "spend_in_micro_dollar", "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.pinterest_source_integration_tests.pin_promotion_report_data"}, "model.pinterest_source.stg_pinterest_ads__ad_group_history": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__ad_group_history", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"ad_group_id": {"type": "bigint", "index": 1, "name": "ad_group_id", "comment": null}, "ad_group_name": {"type": "text", "index": 2, "name": "ad_group_name", "comment": null}, "ad_group_status": {"type": "text", "index": 3, "name": "ad_group_status", "comment": null}, "_fivetran_synced": {"type": "text", "index": 4, "name": "_fivetran_synced", "comment": null}, "campaign_id": {"type": "bigint", "index": 5, "name": "campaign_id", "comment": null}, "created_at": {"type": "text", "index": 6, "name": "created_at", "comment": null}, "end_time": {"type": "integer", "index": 7, "name": "end_time", "comment": null}, "start_time": {"type": "text", "index": 8, "name": "start_time", "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.pinterest_source.stg_pinterest_ads__ad_group_history"}, "model.pinterest_source.stg_pinterest_ads__ad_group_history_tmp": {"metadata": {"type": "VIEW", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__ad_group_history_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "campaign_id": {"type": "bigint", "index": 2, "name": "campaign_id", "comment": null}, "created_time": {"type": "text", "index": 3, "name": "created_time", "comment": null}, "name": {"type": "text", "index": 4, "name": "name", "comment": null}, "status": {"type": "text", "index": 5, "name": "status", "comment": null}, "start_time": {"type": "text", "index": 6, "name": "start_time", "comment": null}, "end_time": {"type": "integer", "index": 7, "name": "end_time", "comment": null}, "_fivetran_synced": {"type": "text", "index": 8, "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.pinterest_source.stg_pinterest_ads__ad_group_history_tmp"}, "model.pinterest_source.stg_pinterest_ads__ad_group_report": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__ad_group_report", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"date_day": {"type": "timestamp without time zone", "index": 1, "name": "date_day", "comment": null}, "ad_group_id": {"type": "bigint", "index": 2, "name": "ad_group_id", "comment": null}, "ad_group_name": {"type": "text", "index": 3, "name": "ad_group_name", "comment": null}, "ad_group_status": {"type": "text", "index": 4, "name": "ad_group_status", "comment": null}, "campaign_id": {"type": "bigint", "index": 5, "name": "campaign_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 6, "name": "advertiser_id", "comment": null}, "impressions": {"type": "integer", "index": 7, "name": "impressions", "comment": null}, "clicks": {"type": "integer", "index": 8, "name": "clicks", "comment": null}, "spend": {"type": "numeric", "index": 9, "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.pinterest_source.stg_pinterest_ads__ad_group_report"}, "model.pinterest_source.stg_pinterest_ads__ad_group_report_tmp": {"metadata": {"type": "VIEW", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__ad_group_report_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"ad_group_id": {"type": "bigint", "index": 1, "name": "ad_group_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 2, "name": "advertiser_id", "comment": null}, "date": {"type": "timestamp without time zone", "index": 3, "name": "date", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 4, "name": "_fivetran_synced", "comment": null}, "ad_group_name": {"type": "text", "index": 5, "name": "ad_group_name", "comment": null}, "ad_group_status": {"type": "text", "index": 6, "name": "ad_group_status", "comment": null}, "campaign_daily_spend_cap": {"type": "integer", "index": 7, "name": "campaign_daily_spend_cap", "comment": null}, "campaign_id": {"type": "bigint", "index": 8, "name": "campaign_id", "comment": null}, "campaign_lifetime_spend_cap": {"type": "integer", "index": 9, "name": "campaign_lifetime_spend_cap", "comment": null}, "campaign_name": {"type": "text", "index": 10, "name": "campaign_name", "comment": null}, "campaign_status": {"type": "text", "index": 11, "name": "campaign_status", "comment": null}, "clickthrough_1": {"type": "integer", "index": 12, "name": "clickthrough_1", "comment": null}, "clickthrough_1_gross": {"type": "integer", "index": 13, "name": "clickthrough_1_gross", "comment": null}, "cpc_in_micro_dollar": {"type": "double precision", "index": 14, "name": "cpc_in_micro_dollar", "comment": null}, "cpm_in_micro_dollar": {"type": "double precision", "index": 15, "name": "cpm_in_micro_dollar", "comment": null}, "ctr": {"type": "double precision", "index": 16, "name": "ctr", "comment": null}, "ecpc_in_micro_dollar": {"type": "double precision", "index": 17, "name": "ecpc_in_micro_dollar", "comment": null}, "ecpm_in_micro_dollar": {"type": "double precision", "index": 18, "name": "ecpm_in_micro_dollar", "comment": null}, "ectr": {"type": "double precision", "index": 19, "name": "ectr", "comment": null}, "engagement_1": {"type": "integer", "index": 20, "name": "engagement_1", "comment": null}, "impression_1": {"type": "integer", "index": 21, "name": "impression_1", "comment": null}, "impression_1_gross": {"type": "integer", "index": 22, "name": "impression_1_gross", "comment": null}, "outbound_click_1": {"type": "integer", "index": 23, "name": "outbound_click_1", "comment": null}, "paid_impression": {"type": "integer", "index": 24, "name": "paid_impression", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 25, "name": "spend_in_micro_dollar", "comment": null}, "total_engagement": {"type": "integer", "index": 26, "name": "total_engagement", "comment": null}, "total_impression_frequency": {"type": "double precision", "index": 27, "name": "total_impression_frequency", "comment": null}, "total_impression_user": {"type": "integer", "index": 28, "name": "total_impression_user", "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.pinterest_source.stg_pinterest_ads__ad_group_report_tmp"}, "model.pinterest_source.stg_pinterest_ads__advertiser_history": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__advertiser_history", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"advertiser_id": {"type": "bigint", "index": 1, "name": "advertiser_id", "comment": null}, "advertiser_name": {"type": "text", "index": 2, "name": "advertiser_name", "comment": null}, "advertiser_status": {"type": "text", "index": 3, "name": "advertiser_status", "comment": null}, "billing_profile_status": {"type": "text", "index": 4, "name": "billing_profile_status", "comment": null}, "billing_type": {"type": "text", "index": 5, "name": "billing_type", "comment": null}, "country": {"type": "text", "index": 6, "name": "country", "comment": null}, "created_at": {"type": "timestamp without time zone", "index": 7, "name": "created_at", "comment": null}, "currency_code": {"type": "text", "index": 8, "name": "currency_code", "comment": null}, "merchant_id": {"type": "integer", "index": 9, "name": "merchant_id", "comment": null}, "owner_user_id": {"type": "integer", "index": 10, "name": "owner_user_id", "comment": null}, "updated_at": {"type": "timestamp without time zone", "index": 11, "name": "updated_at", "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.pinterest_source.stg_pinterest_ads__advertiser_history"}, "model.pinterest_source.stg_pinterest_ads__advertiser_history_tmp": {"metadata": {"type": "VIEW", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__advertiser_history_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "updated_time": {"type": "timestamp without time zone", "index": 2, "name": "updated_time", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "billing_profile_status": {"type": "text", "index": 4, "name": "billing_profile_status", "comment": null}, "billing_type": {"type": "text", "index": 5, "name": "billing_type", "comment": null}, "country": {"type": "text", "index": 6, "name": "country", "comment": null}, "created_time": {"type": "timestamp without time zone", "index": 7, "name": "created_time", "comment": null}, "currency": {"type": "text", "index": 8, "name": "currency", "comment": null}, "merchant_id": {"type": "integer", "index": 9, "name": "merchant_id", "comment": null}, "name": {"type": "text", "index": 10, "name": "name", "comment": null}, "owner_user_id": {"type": "integer", "index": 11, "name": "owner_user_id", "comment": null}, "status": {"type": "text", "index": 12, "name": "status", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.pinterest_source.stg_pinterest_ads__advertiser_history_tmp"}, "model.pinterest_source.stg_pinterest_ads__advertiser_report": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__advertiser_report", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"date_day": {"type": "timestamp without time zone", "index": 1, "name": "date_day", "comment": null}, "advertiser_id": {"type": "bigint", "index": 2, "name": "advertiser_id", "comment": null}, "impressions": {"type": "integer", "index": 3, "name": "impressions", "comment": null}, "clicks": {"type": "integer", "index": 4, "name": "clicks", "comment": null}, "spend": {"type": "numeric", "index": 5, "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.pinterest_source.stg_pinterest_ads__advertiser_report"}, "model.pinterest_source.stg_pinterest_ads__advertiser_report_tmp": {"metadata": {"type": "VIEW", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__advertiser_report_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"advertiser_id": {"type": "bigint", "index": 1, "name": "advertiser_id", "comment": null}, "date": {"type": "timestamp without time zone", "index": 2, "name": "date", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "clickthrough_1": {"type": "integer", "index": 4, "name": "clickthrough_1", "comment": null}, "clickthrough_1_gross": {"type": "integer", "index": 5, "name": "clickthrough_1_gross", "comment": null}, "cpc_in_micro_dollar": {"type": "double precision", "index": 6, "name": "cpc_in_micro_dollar", "comment": null}, "cpm_in_micro_dollar": {"type": "double precision", "index": 7, "name": "cpm_in_micro_dollar", "comment": null}, "ctr": {"type": "double precision", "index": 8, "name": "ctr", "comment": null}, "ecpc_in_micro_dollar": {"type": "double precision", "index": 9, "name": "ecpc_in_micro_dollar", "comment": null}, "ecpm_in_micro_dollar": {"type": "double precision", "index": 10, "name": "ecpm_in_micro_dollar", "comment": null}, "ectr": {"type": "double precision", "index": 11, "name": "ectr", "comment": null}, "engagement_1": {"type": "integer", "index": 12, "name": "engagement_1", "comment": null}, "impression_1": {"type": "integer", "index": 13, "name": "impression_1", "comment": null}, "impression_1_gross": {"type": "integer", "index": 14, "name": "impression_1_gross", "comment": null}, "outbound_click_1": {"type": "integer", "index": 15, "name": "outbound_click_1", "comment": null}, "paid_impression": {"type": "integer", "index": 16, "name": "paid_impression", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 17, "name": "spend_in_micro_dollar", "comment": null}, "total_engagement": {"type": "integer", "index": 18, "name": "total_engagement", "comment": null}, "total_impression_frequency": {"type": "double precision", "index": 19, "name": "total_impression_frequency", "comment": null}, "total_impression_user": {"type": "integer", "index": 20, "name": "total_impression_user", "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.pinterest_source.stg_pinterest_ads__advertiser_report_tmp"}, "model.pinterest_source.stg_pinterest_ads__campaign_history": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__campaign_history", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"campaign_id": {"type": "bigint", "index": 1, "name": "campaign_id", "comment": null}, "campaign_name": {"type": "text", "index": 2, "name": "campaign_name", "comment": null}, "advertiser_id": {"type": "bigint", "index": 3, "name": "advertiser_id", "comment": null}, "campaign_status": {"type": "text", "index": 4, "name": "campaign_status", "comment": null}, "_fivetran_synced": {"type": "text", "index": 5, "name": "_fivetran_synced", "comment": null}, "created_at": {"type": "text", "index": 6, "name": "created_at", "comment": null}, "is_most_recent_record": {"type": "boolean", "index": 7, "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.pinterest_source.stg_pinterest_ads__campaign_history"}, "model.pinterest_source.stg_pinterest_ads__campaign_history_tmp": {"metadata": {"type": "VIEW", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__campaign_history_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "created_time": {"type": "text", "index": 2, "name": "created_time", "comment": null}, "name": {"type": "text", "index": 3, "name": "name", "comment": null}, "status": {"type": "text", "index": 4, "name": "status", "comment": null}, "_fivetran_synced": {"type": "text", "index": 5, "name": "_fivetran_synced", "comment": null}, "advertiser_id": {"type": "bigint", "index": 6, "name": "advertiser_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.pinterest_source.stg_pinterest_ads__campaign_history_tmp"}, "model.pinterest_source.stg_pinterest_ads__campaign_report": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__campaign_report", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"date_day": {"type": "timestamp without time zone", "index": 1, "name": "date_day", "comment": null}, "campaign_id": {"type": "bigint", "index": 2, "name": "campaign_id", "comment": null}, "campaign_name": {"type": "text", "index": 3, "name": "campaign_name", "comment": null}, "campaign_status": {"type": "text", "index": 4, "name": "campaign_status", "comment": null}, "advertiser_id": {"type": "bigint", "index": 5, "name": "advertiser_id", "comment": null}, "impressions": {"type": "integer", "index": 6, "name": "impressions", "comment": null}, "clicks": {"type": "integer", "index": 7, "name": "clicks", "comment": null}, "spend": {"type": "numeric", "index": 8, "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.pinterest_source.stg_pinterest_ads__campaign_report"}, "model.pinterest_source.stg_pinterest_ads__campaign_report_tmp": {"metadata": {"type": "VIEW", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__campaign_report_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"advertiser_id": {"type": "bigint", "index": 1, "name": "advertiser_id", "comment": null}, "campaign_id": {"type": "bigint", "index": 2, "name": "campaign_id", "comment": null}, "date": {"type": "timestamp without time zone", "index": 3, "name": "date", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 4, "name": "_fivetran_synced", "comment": null}, "campaign_daily_spend_cap": {"type": "integer", "index": 5, "name": "campaign_daily_spend_cap", "comment": null}, "campaign_lifetime_spend_cap": {"type": "integer", "index": 6, "name": "campaign_lifetime_spend_cap", "comment": null}, "campaign_name": {"type": "text", "index": 7, "name": "campaign_name", "comment": null}, "campaign_status": {"type": "text", "index": 8, "name": "campaign_status", "comment": null}, "clickthrough_1": {"type": "integer", "index": 9, "name": "clickthrough_1", "comment": null}, "clickthrough_1_gross": {"type": "integer", "index": 10, "name": "clickthrough_1_gross", "comment": null}, "cpc_in_micro_dollar": {"type": "double precision", "index": 11, "name": "cpc_in_micro_dollar", "comment": null}, "cpm_in_micro_dollar": {"type": "double precision", "index": 12, "name": "cpm_in_micro_dollar", "comment": null}, "ctr": {"type": "double precision", "index": 13, "name": "ctr", "comment": null}, "ecpc_in_micro_dollar": {"type": "double precision", "index": 14, "name": "ecpc_in_micro_dollar", "comment": null}, "ecpm_in_micro_dollar": {"type": "double precision", "index": 15, "name": "ecpm_in_micro_dollar", "comment": null}, "ectr": {"type": "double precision", "index": 16, "name": "ectr", "comment": null}, "engagement_1": {"type": "integer", "index": 17, "name": "engagement_1", "comment": null}, "impression_1": {"type": "integer", "index": 18, "name": "impression_1", "comment": null}, "impression_1_gross": {"type": "integer", "index": 19, "name": "impression_1_gross", "comment": null}, "outbound_click_1": {"type": "integer", "index": 20, "name": "outbound_click_1", "comment": null}, "paid_impression": {"type": "integer", "index": 21, "name": "paid_impression", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 22, "name": "spend_in_micro_dollar", "comment": null}, "total_engagement": {"type": "integer", "index": 23, "name": "total_engagement", "comment": null}, "total_impression_frequency": {"type": "double precision", "index": 24, "name": "total_impression_frequency", "comment": null}, "total_impression_user": {"type": "integer", "index": 25, "name": "total_impression_user", "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.pinterest_source.stg_pinterest_ads__campaign_report_tmp"}, "model.pinterest_source.stg_pinterest_ads__keyword_history": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__keyword_history", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"keyword_id": {"type": "bigint", "index": 1, "name": "keyword_id", "comment": null}, "keyword_value": {"type": "text", "index": 2, "name": "keyword_value", "comment": null}, "_fivetran_id": {"type": "text", "index": 3, "name": "_fivetran_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 4, "name": "_fivetran_synced", "comment": null}, "ad_group_id": {"type": "bigint", "index": 5, "name": "ad_group_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 6, "name": "advertiser_id", "comment": null}, "archived": {"type": "boolean", "index": 7, "name": "archived", "comment": null}, "bid": {"type": "integer", "index": 8, "name": "bid", "comment": null}, "campaign_id": {"type": "bigint", "index": 9, "name": "campaign_id", "comment": null}, "match_type": {"type": "text", "index": 10, "name": "match_type", "comment": null}, "parent_type": {"type": "text", "index": 11, "name": "parent_type", "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.pinterest_source.stg_pinterest_ads__keyword_history"}, "model.pinterest_source.stg_pinterest_ads__keyword_history_tmp": {"metadata": {"type": "VIEW", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__keyword_history_tmp", "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}, "ad_group_id": {"type": "bigint", "index": 3, "name": "ad_group_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 4, "name": "advertiser_id", "comment": null}, "archived": {"type": "boolean", "index": 5, "name": "archived", "comment": null}, "bid": {"type": "integer", "index": 6, "name": "bid", "comment": null}, "campaign_id": {"type": "bigint", "index": 7, "name": "campaign_id", "comment": null}, "id": {"type": "bigint", "index": 8, "name": "id", "comment": null}, "match_type": {"type": "text", "index": 9, "name": "match_type", "comment": null}, "parent_type": {"type": "text", "index": 10, "name": "parent_type", "comment": null}, "value": {"type": "text", "index": 11, "name": "value", "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.pinterest_source.stg_pinterest_ads__keyword_history_tmp"}, "model.pinterest_source.stg_pinterest_ads__keyword_report": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__keyword_report", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"date_day": {"type": "timestamp without time zone", "index": 1, "name": "date_day", "comment": null}, "keyword_id": {"type": "bigint", "index": 2, "name": "keyword_id", "comment": null}, "pin_promotion_id": {"type": "bigint", "index": 3, "name": "pin_promotion_id", "comment": null}, "ad_group_id": {"type": "bigint", "index": 4, "name": "ad_group_id", "comment": null}, "ad_group_name": {"type": "text", "index": 5, "name": "ad_group_name", "comment": null}, "ad_group_status": {"type": "text", "index": 6, "name": "ad_group_status", "comment": null}, "campaign_id": {"type": "bigint", "index": 7, "name": "campaign_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 8, "name": "advertiser_id", "comment": null}, "impressions": {"type": "integer", "index": 9, "name": "impressions", "comment": null}, "clicks": {"type": "integer", "index": 10, "name": "clicks", "comment": null}, "spend": {"type": "numeric", "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.pinterest_source.stg_pinterest_ads__keyword_report"}, "model.pinterest_source.stg_pinterest_ads__keyword_report_tmp": {"metadata": {"type": "VIEW", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__keyword_report_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"ad_group_id": {"type": "bigint", "index": 1, "name": "ad_group_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 2, "name": "advertiser_id", "comment": null}, "campaign_id": {"type": "bigint", "index": 3, "name": "campaign_id", "comment": null}, "date": {"type": "timestamp without time zone", "index": 4, "name": "date", "comment": null}, "keyword_id": {"type": "bigint", "index": 5, "name": "keyword_id", "comment": null}, "pin_id": {"type": "bigint", "index": 6, "name": "pin_id", "comment": null}, "pin_promotion_id": {"type": "bigint", "index": 7, "name": "pin_promotion_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 8, "name": "_fivetran_synced", "comment": null}, "ad_group_name": {"type": "text", "index": 9, "name": "ad_group_name", "comment": null}, "ad_group_status": {"type": "text", "index": 10, "name": "ad_group_status", "comment": null}, "campaign_daily_spend_cap": {"type": "integer", "index": 11, "name": "campaign_daily_spend_cap", "comment": null}, "campaign_lifetime_spend_cap": {"type": "integer", "index": 12, "name": "campaign_lifetime_spend_cap", "comment": null}, "campaign_name": {"type": "text", "index": 13, "name": "campaign_name", "comment": null}, "campaign_status": {"type": "text", "index": 14, "name": "campaign_status", "comment": null}, "clickthrough_1": {"type": "integer", "index": 15, "name": "clickthrough_1", "comment": null}, "clickthrough_1_gross": {"type": "integer", "index": 16, "name": "clickthrough_1_gross", "comment": null}, "cpc_in_micro_dollar": {"type": "integer", "index": 17, "name": "cpc_in_micro_dollar", "comment": null}, "cpm_in_micro_dollar": {"type": "double precision", "index": 18, "name": "cpm_in_micro_dollar", "comment": null}, "ctr": {"type": "integer", "index": 19, "name": "ctr", "comment": null}, "ecpc_in_micro_dollar": {"type": "integer", "index": 20, "name": "ecpc_in_micro_dollar", "comment": null}, "ecpm_in_micro_dollar": {"type": "double precision", "index": 21, "name": "ecpm_in_micro_dollar", "comment": null}, "ectr": {"type": "integer", "index": 22, "name": "ectr", "comment": null}, "engagement_1": {"type": "integer", "index": 23, "name": "engagement_1", "comment": null}, "impression_1": {"type": "integer", "index": 24, "name": "impression_1", "comment": null}, "impression_1_gross": {"type": "integer", "index": 25, "name": "impression_1_gross", "comment": null}, "outbound_click_1": {"type": "integer", "index": 26, "name": "outbound_click_1", "comment": null}, "paid_impression": {"type": "integer", "index": 27, "name": "paid_impression", "comment": null}, "pin_promotion_name": {"type": "text", "index": 28, "name": "pin_promotion_name", "comment": null}, "pin_promotion_status": {"type": "text", "index": 29, "name": "pin_promotion_status", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 30, "name": "spend_in_micro_dollar", "comment": null}, "targeting_type": {"type": "text", "index": 31, "name": "targeting_type", "comment": null}, "targeting_value": {"type": "text", "index": 32, "name": "targeting_value", "comment": null}, "total_engagement": {"type": "integer", "index": 33, "name": "total_engagement", "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.pinterest_source.stg_pinterest_ads__keyword_report_tmp"}, "model.pinterest_source.stg_pinterest_ads__pin_promotion_history": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__pin_promotion_history", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"pin_promotion_id": {"type": "bigint", "index": 1, "name": "pin_promotion_id", "comment": null}, "ad_group_id": {"type": "bigint", "index": 2, "name": "ad_group_id", "comment": null}, "created_at": {"type": "text", "index": 3, "name": "created_at", "comment": null}, "destination_url": {"type": "text", "index": 4, "name": "destination_url", "comment": null}, "base_url": {"type": "text", "index": 5, "name": "base_url", "comment": null}, "url_host": {"type": "character varying", "index": 6, "name": "url_host", "comment": null}, "url_path": {"type": "text", "index": 7, "name": "url_path", "comment": null}, "utm_source": {"type": "text", "index": 8, "name": "utm_source", "comment": null}, "utm_medium": {"type": "text", "index": 9, "name": "utm_medium", "comment": null}, "utm_campaign": {"type": "text", "index": 10, "name": "utm_campaign", "comment": null}, "utm_content": {"type": "text", "index": 11, "name": "utm_content", "comment": null}, "utm_term": {"type": "text", "index": 12, "name": "utm_term", "comment": null}, "pin_name": {"type": "text", "index": 13, "name": "pin_name", "comment": null}, "pin_id": {"type": "bigint", "index": 14, "name": "pin_id", "comment": null}, "pin_status": {"type": "text", "index": 15, "name": "pin_status", "comment": null}, "creative_type": {"type": "text", "index": 16, "name": "creative_type", "comment": null}, "_fivetran_synced": {"type": "text", "index": 17, "name": "_fivetran_synced", "comment": null}, "is_most_recent_record": {"type": "boolean", "index": 18, "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.pinterest_source.stg_pinterest_ads__pin_promotion_history"}, "model.pinterest_source.stg_pinterest_ads__pin_promotion_history_tmp": {"metadata": {"type": "VIEW", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__pin_promotion_history_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "ad_group_id": {"type": "bigint", "index": 2, "name": "ad_group_id", "comment": null}, "created_time": {"type": "text", "index": 3, "name": "created_time", "comment": null}, "destination_url": {"type": "text", "index": 4, "name": "destination_url", "comment": null}, "name": {"type": "text", "index": 5, "name": "name", "comment": null}, "pin_id": {"type": "bigint", "index": 6, "name": "pin_id", "comment": null}, "status": {"type": "text", "index": 7, "name": "status", "comment": null}, "creative_type": {"type": "text", "index": 8, "name": "creative_type", "comment": null}, "_fivetran_synced": {"type": "text", "index": 9, "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.pinterest_source.stg_pinterest_ads__pin_promotion_history_tmp"}, "model.pinterest_source.stg_pinterest_ads__pin_promotion_report": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__pin_promotion_report", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"date_day": {"type": "text", "index": 1, "name": "date_day", "comment": null}, "pin_promotion_id": {"type": "bigint", "index": 2, "name": "pin_promotion_id", "comment": null}, "ad_group_id": {"type": "bigint", "index": 3, "name": "ad_group_id", "comment": null}, "campaign_id": {"type": "bigint", "index": 4, "name": "campaign_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 5, "name": "advertiser_id", "comment": null}, "impressions": {"type": "integer", "index": 6, "name": "impressions", "comment": null}, "clicks": {"type": "integer", "index": 7, "name": "clicks", "comment": null}, "spend": {"type": "numeric", "index": 8, "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.pinterest_source.stg_pinterest_ads__pin_promotion_report"}, "model.pinterest_source.stg_pinterest_ads__pin_promotion_report_tmp": {"metadata": {"type": "VIEW", "schema": "pinterest_source_integration_tests_pinterest_source", "name": "stg_pinterest_ads__pin_promotion_report_tmp", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"date": {"type": "text", "index": 1, "name": "date", "comment": null}, "pin_promotion_id": {"type": "bigint", "index": 2, "name": "pin_promotion_id", "comment": null}, "ad_group_id": {"type": "bigint", "index": 3, "name": "ad_group_id", "comment": null}, "campaign_id": {"type": "bigint", "index": 4, "name": "campaign_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 5, "name": "advertiser_id", "comment": null}, "_fivetran_synced": {"type": "text", "index": 6, "name": "_fivetran_synced", "comment": null}, "impression_1": {"type": "integer", "index": 7, "name": "impression_1", "comment": null}, "impression_2": {"type": "integer", "index": 8, "name": "impression_2", "comment": null}, "clickthrough_1": {"type": "integer", "index": 9, "name": "clickthrough_1", "comment": null}, "clickthrough_2": {"type": "integer", "index": 10, "name": "clickthrough_2", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 11, "name": "spend_in_micro_dollar", "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.pinterest_source.stg_pinterest_ads__pin_promotion_report_tmp"}}, "sources": {"source.pinterest_source.pinterest_ads.ad_group_history": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "ad_group_history_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "campaign_id": {"type": "bigint", "index": 2, "name": "campaign_id", "comment": null}, "created_time": {"type": "text", "index": 3, "name": "created_time", "comment": null}, "name": {"type": "text", "index": 4, "name": "name", "comment": null}, "status": {"type": "text", "index": 5, "name": "status", "comment": null}, "start_time": {"type": "text", "index": 6, "name": "start_time", "comment": null}, "end_time": {"type": "integer", "index": 7, "name": "end_time", "comment": null}, "_fivetran_synced": {"type": "text", "index": 8, "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.pinterest_source.pinterest_ads.ad_group_history"}, "source.pinterest_source.pinterest_ads.ad_group_report": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "ad_group_report_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"ad_group_id": {"type": "bigint", "index": 1, "name": "ad_group_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 2, "name": "advertiser_id", "comment": null}, "date": {"type": "timestamp without time zone", "index": 3, "name": "date", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 4, "name": "_fivetran_synced", "comment": null}, "ad_group_name": {"type": "text", "index": 5, "name": "ad_group_name", "comment": null}, "ad_group_status": {"type": "text", "index": 6, "name": "ad_group_status", "comment": null}, "campaign_daily_spend_cap": {"type": "integer", "index": 7, "name": "campaign_daily_spend_cap", "comment": null}, "campaign_id": {"type": "bigint", "index": 8, "name": "campaign_id", "comment": null}, "campaign_lifetime_spend_cap": {"type": "integer", "index": 9, "name": "campaign_lifetime_spend_cap", "comment": null}, "campaign_name": {"type": "text", "index": 10, "name": "campaign_name", "comment": null}, "campaign_status": {"type": "text", "index": 11, "name": "campaign_status", "comment": null}, "clickthrough_1": {"type": "integer", "index": 12, "name": "clickthrough_1", "comment": null}, "clickthrough_1_gross": {"type": "integer", "index": 13, "name": "clickthrough_1_gross", "comment": null}, "cpc_in_micro_dollar": {"type": "double precision", "index": 14, "name": "cpc_in_micro_dollar", "comment": null}, "cpm_in_micro_dollar": {"type": "double precision", "index": 15, "name": "cpm_in_micro_dollar", "comment": null}, "ctr": {"type": "double precision", "index": 16, "name": "ctr", "comment": null}, "ecpc_in_micro_dollar": {"type": "double precision", "index": 17, "name": "ecpc_in_micro_dollar", "comment": null}, "ecpm_in_micro_dollar": {"type": "double precision", "index": 18, "name": "ecpm_in_micro_dollar", "comment": null}, "ectr": {"type": "double precision", "index": 19, "name": "ectr", "comment": null}, "engagement_1": {"type": "integer", "index": 20, "name": "engagement_1", "comment": null}, "impression_1": {"type": "integer", "index": 21, "name": "impression_1", "comment": null}, "impression_1_gross": {"type": "integer", "index": 22, "name": "impression_1_gross", "comment": null}, "outbound_click_1": {"type": "integer", "index": 23, "name": "outbound_click_1", "comment": null}, "paid_impression": {"type": "integer", "index": 24, "name": "paid_impression", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 25, "name": "spend_in_micro_dollar", "comment": null}, "total_engagement": {"type": "integer", "index": 26, "name": "total_engagement", "comment": null}, "total_impression_frequency": {"type": "double precision", "index": 27, "name": "total_impression_frequency", "comment": null}, "total_impression_user": {"type": "integer", "index": 28, "name": "total_impression_user", "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.pinterest_source.pinterest_ads.ad_group_report"}, "source.pinterest_source.pinterest_ads.advertiser_history": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "advertiser_history_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "updated_time": {"type": "timestamp without time zone", "index": 2, "name": "updated_time", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "billing_profile_status": {"type": "text", "index": 4, "name": "billing_profile_status", "comment": null}, "billing_type": {"type": "text", "index": 5, "name": "billing_type", "comment": null}, "country": {"type": "text", "index": 6, "name": "country", "comment": null}, "created_time": {"type": "timestamp without time zone", "index": 7, "name": "created_time", "comment": null}, "currency": {"type": "text", "index": 8, "name": "currency", "comment": null}, "merchant_id": {"type": "integer", "index": 9, "name": "merchant_id", "comment": null}, "name": {"type": "text", "index": 10, "name": "name", "comment": null}, "owner_user_id": {"type": "integer", "index": 11, "name": "owner_user_id", "comment": null}, "status": {"type": "text", "index": 12, "name": "status", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.pinterest_source.pinterest_ads.advertiser_history"}, "source.pinterest_source.pinterest_ads.advertiser_report": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "advertiser_report_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"advertiser_id": {"type": "bigint", "index": 1, "name": "advertiser_id", "comment": null}, "date": {"type": "timestamp without time zone", "index": 2, "name": "date", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 3, "name": "_fivetran_synced", "comment": null}, "clickthrough_1": {"type": "integer", "index": 4, "name": "clickthrough_1", "comment": null}, "clickthrough_1_gross": {"type": "integer", "index": 5, "name": "clickthrough_1_gross", "comment": null}, "cpc_in_micro_dollar": {"type": "double precision", "index": 6, "name": "cpc_in_micro_dollar", "comment": null}, "cpm_in_micro_dollar": {"type": "double precision", "index": 7, "name": "cpm_in_micro_dollar", "comment": null}, "ctr": {"type": "double precision", "index": 8, "name": "ctr", "comment": null}, "ecpc_in_micro_dollar": {"type": "double precision", "index": 9, "name": "ecpc_in_micro_dollar", "comment": null}, "ecpm_in_micro_dollar": {"type": "double precision", "index": 10, "name": "ecpm_in_micro_dollar", "comment": null}, "ectr": {"type": "double precision", "index": 11, "name": "ectr", "comment": null}, "engagement_1": {"type": "integer", "index": 12, "name": "engagement_1", "comment": null}, "impression_1": {"type": "integer", "index": 13, "name": "impression_1", "comment": null}, "impression_1_gross": {"type": "integer", "index": 14, "name": "impression_1_gross", "comment": null}, "outbound_click_1": {"type": "integer", "index": 15, "name": "outbound_click_1", "comment": null}, "paid_impression": {"type": "integer", "index": 16, "name": "paid_impression", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 17, "name": "spend_in_micro_dollar", "comment": null}, "total_engagement": {"type": "integer", "index": 18, "name": "total_engagement", "comment": null}, "total_impression_frequency": {"type": "double precision", "index": 19, "name": "total_impression_frequency", "comment": null}, "total_impression_user": {"type": "integer", "index": 20, "name": "total_impression_user", "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.pinterest_source.pinterest_ads.advertiser_report"}, "source.pinterest_source.pinterest_ads.campaign_history": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "campaign_history_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "created_time": {"type": "text", "index": 2, "name": "created_time", "comment": null}, "name": {"type": "text", "index": 3, "name": "name", "comment": null}, "status": {"type": "text", "index": 4, "name": "status", "comment": null}, "_fivetran_synced": {"type": "text", "index": 5, "name": "_fivetran_synced", "comment": null}, "advertiser_id": {"type": "bigint", "index": 6, "name": "advertiser_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.pinterest_source.pinterest_ads.campaign_history"}, "source.pinterest_source.pinterest_ads.campaign_report": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "campaign_report_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"advertiser_id": {"type": "bigint", "index": 1, "name": "advertiser_id", "comment": null}, "campaign_id": {"type": "bigint", "index": 2, "name": "campaign_id", "comment": null}, "date": {"type": "timestamp without time zone", "index": 3, "name": "date", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 4, "name": "_fivetran_synced", "comment": null}, "campaign_daily_spend_cap": {"type": "integer", "index": 5, "name": "campaign_daily_spend_cap", "comment": null}, "campaign_lifetime_spend_cap": {"type": "integer", "index": 6, "name": "campaign_lifetime_spend_cap", "comment": null}, "campaign_name": {"type": "text", "index": 7, "name": "campaign_name", "comment": null}, "campaign_status": {"type": "text", "index": 8, "name": "campaign_status", "comment": null}, "clickthrough_1": {"type": "integer", "index": 9, "name": "clickthrough_1", "comment": null}, "clickthrough_1_gross": {"type": "integer", "index": 10, "name": "clickthrough_1_gross", "comment": null}, "cpc_in_micro_dollar": {"type": "double precision", "index": 11, "name": "cpc_in_micro_dollar", "comment": null}, "cpm_in_micro_dollar": {"type": "double precision", "index": 12, "name": "cpm_in_micro_dollar", "comment": null}, "ctr": {"type": "double precision", "index": 13, "name": "ctr", "comment": null}, "ecpc_in_micro_dollar": {"type": "double precision", "index": 14, "name": "ecpc_in_micro_dollar", "comment": null}, "ecpm_in_micro_dollar": {"type": "double precision", "index": 15, "name": "ecpm_in_micro_dollar", "comment": null}, "ectr": {"type": "double precision", "index": 16, "name": "ectr", "comment": null}, "engagement_1": {"type": "integer", "index": 17, "name": "engagement_1", "comment": null}, "impression_1": {"type": "integer", "index": 18, "name": "impression_1", "comment": null}, "impression_1_gross": {"type": "integer", "index": 19, "name": "impression_1_gross", "comment": null}, "outbound_click_1": {"type": "integer", "index": 20, "name": "outbound_click_1", "comment": null}, "paid_impression": {"type": "integer", "index": 21, "name": "paid_impression", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 22, "name": "spend_in_micro_dollar", "comment": null}, "total_engagement": {"type": "integer", "index": 23, "name": "total_engagement", "comment": null}, "total_impression_frequency": {"type": "double precision", "index": 24, "name": "total_impression_frequency", "comment": null}, "total_impression_user": {"type": "integer", "index": 25, "name": "total_impression_user", "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.pinterest_source.pinterest_ads.campaign_report"}, "source.pinterest_source.pinterest_ads.keyword_history": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "keyword_history_data", "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}, "ad_group_id": {"type": "bigint", "index": 3, "name": "ad_group_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 4, "name": "advertiser_id", "comment": null}, "archived": {"type": "boolean", "index": 5, "name": "archived", "comment": null}, "bid": {"type": "integer", "index": 6, "name": "bid", "comment": null}, "campaign_id": {"type": "bigint", "index": 7, "name": "campaign_id", "comment": null}, "id": {"type": "bigint", "index": 8, "name": "id", "comment": null}, "match_type": {"type": "text", "index": 9, "name": "match_type", "comment": null}, "parent_type": {"type": "text", "index": 10, "name": "parent_type", "comment": null}, "value": {"type": "text", "index": 11, "name": "value", "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.pinterest_source.pinterest_ads.keyword_history"}, "source.pinterest_source.pinterest_ads.keyword_report": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "keyword_report_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"ad_group_id": {"type": "bigint", "index": 1, "name": "ad_group_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 2, "name": "advertiser_id", "comment": null}, "campaign_id": {"type": "bigint", "index": 3, "name": "campaign_id", "comment": null}, "date": {"type": "timestamp without time zone", "index": 4, "name": "date", "comment": null}, "keyword_id": {"type": "bigint", "index": 5, "name": "keyword_id", "comment": null}, "pin_id": {"type": "bigint", "index": 6, "name": "pin_id", "comment": null}, "pin_promotion_id": {"type": "bigint", "index": 7, "name": "pin_promotion_id", "comment": null}, "_fivetran_synced": {"type": "timestamp without time zone", "index": 8, "name": "_fivetran_synced", "comment": null}, "ad_group_name": {"type": "text", "index": 9, "name": "ad_group_name", "comment": null}, "ad_group_status": {"type": "text", "index": 10, "name": "ad_group_status", "comment": null}, "campaign_daily_spend_cap": {"type": "integer", "index": 11, "name": "campaign_daily_spend_cap", "comment": null}, "campaign_lifetime_spend_cap": {"type": "integer", "index": 12, "name": "campaign_lifetime_spend_cap", "comment": null}, "campaign_name": {"type": "text", "index": 13, "name": "campaign_name", "comment": null}, "campaign_status": {"type": "text", "index": 14, "name": "campaign_status", "comment": null}, "clickthrough_1": {"type": "integer", "index": 15, "name": "clickthrough_1", "comment": null}, "clickthrough_1_gross": {"type": "integer", "index": 16, "name": "clickthrough_1_gross", "comment": null}, "cpc_in_micro_dollar": {"type": "integer", "index": 17, "name": "cpc_in_micro_dollar", "comment": null}, "cpm_in_micro_dollar": {"type": "double precision", "index": 18, "name": "cpm_in_micro_dollar", "comment": null}, "ctr": {"type": "integer", "index": 19, "name": "ctr", "comment": null}, "ecpc_in_micro_dollar": {"type": "integer", "index": 20, "name": "ecpc_in_micro_dollar", "comment": null}, "ecpm_in_micro_dollar": {"type": "double precision", "index": 21, "name": "ecpm_in_micro_dollar", "comment": null}, "ectr": {"type": "integer", "index": 22, "name": "ectr", "comment": null}, "engagement_1": {"type": "integer", "index": 23, "name": "engagement_1", "comment": null}, "impression_1": {"type": "integer", "index": 24, "name": "impression_1", "comment": null}, "impression_1_gross": {"type": "integer", "index": 25, "name": "impression_1_gross", "comment": null}, "outbound_click_1": {"type": "integer", "index": 26, "name": "outbound_click_1", "comment": null}, "paid_impression": {"type": "integer", "index": 27, "name": "paid_impression", "comment": null}, "pin_promotion_name": {"type": "text", "index": 28, "name": "pin_promotion_name", "comment": null}, "pin_promotion_status": {"type": "text", "index": 29, "name": "pin_promotion_status", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 30, "name": "spend_in_micro_dollar", "comment": null}, "targeting_type": {"type": "text", "index": 31, "name": "targeting_type", "comment": null}, "targeting_value": {"type": "text", "index": 32, "name": "targeting_value", "comment": null}, "total_engagement": {"type": "integer", "index": 33, "name": "total_engagement", "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.pinterest_source.pinterest_ads.keyword_report"}, "source.pinterest_source.pinterest_ads.pin_promotion_history": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "pin_promotion_history_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "ad_group_id": {"type": "bigint", "index": 2, "name": "ad_group_id", "comment": null}, "created_time": {"type": "text", "index": 3, "name": "created_time", "comment": null}, "destination_url": {"type": "text", "index": 4, "name": "destination_url", "comment": null}, "name": {"type": "text", "index": 5, "name": "name", "comment": null}, "pin_id": {"type": "bigint", "index": 6, "name": "pin_id", "comment": null}, "status": {"type": "text", "index": 7, "name": "status", "comment": null}, "creative_type": {"type": "text", "index": 8, "name": "creative_type", "comment": null}, "_fivetran_synced": {"type": "text", "index": 9, "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.pinterest_source.pinterest_ads.pin_promotion_history"}, "source.pinterest_source.pinterest_ads.pin_promotion_report": {"metadata": {"type": "BASE TABLE", "schema": "pinterest_source_integration_tests", "name": "pin_promotion_report_data", "database": "postgres", "comment": null, "owner": "pguser"}, "columns": {"date": {"type": "text", "index": 1, "name": "date", "comment": null}, "pin_promotion_id": {"type": "bigint", "index": 2, "name": "pin_promotion_id", "comment": null}, "ad_group_id": {"type": "bigint", "index": 3, "name": "ad_group_id", "comment": null}, "campaign_id": {"type": "bigint", "index": 4, "name": "campaign_id", "comment": null}, "advertiser_id": {"type": "bigint", "index": 5, "name": "advertiser_id", "comment": null}, "_fivetran_synced": {"type": "text", "index": 6, "name": "_fivetran_synced", "comment": null}, "impression_1": {"type": "integer", "index": 7, "name": "impression_1", "comment": null}, "impression_2": {"type": "integer", "index": 8, "name": "impression_2", "comment": null}, "clickthrough_1": {"type": "integer", "index": 9, "name": "clickthrough_1", "comment": null}, "clickthrough_2": {"type": "integer", "index": 10, "name": "clickthrough_2", "comment": null}, "spend_in_micro_dollar": {"type": "integer", "index": 11, "name": "spend_in_micro_dollar", "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.pinterest_source.pinterest_ads.pin_promotion_report"}}, "errors": null} \ No newline at end of file diff --git a/docs/manifest.json b/docs/manifest.json index 4bfd0e9..e046cdf 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-07-20T19:21:01.736039Z", "invocation_id": "dbf490a2-d9ac-4389-8b4c-a7cae74fc906", "env": {}, "project_id": "0c5e93f26aaf82565f2c06106a3cb878", "user_id": "8929baf0-9bc1-477e-9a57-eb8b0db4da62", "send_anonymous_usage_stats": true, "adapter_type": "postgres"}, "nodes": {"seed.pinterest_source_integration_tests.ad_group_report_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", "campaign_id": "bigint", "ad_group_id": "bigint", "pin_id": "bigint", "advertiser_id": "bigint", "pin_promotion_id": "bigint", "keyword_id": "bigint"}, "full_refresh": null, "on_schema_change": "ignore", "quote_columns": true, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "pinterest_source_integration_tests", "fqn": ["pinterest_source_integration_tests", "ad_group_report_data"], "unique_id": "seed.pinterest_source_integration_tests.ad_group_report_data", "package_name": "pinterest_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests", "path": "ad_group_report_data.csv", "original_file_path": "seeds/ad_group_report_data.csv", "name": "ad_group_report_data", "alias": "ad_group_report_data", "checksum": {"name": "sha256", "checksum": "e97c0744fe3e48bcc4f9016c719b37f08e7cf5d2eed93805e0d54678df283662"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type in ('redshift','postgres') else false }}", "column_types": {"id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "ad_group_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "advertiser_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_promotion_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "keyword_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}"}}, "created_at": 1658344851.287362, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"ad_group_report_data\""}, "seed.pinterest_source_integration_tests.keyword_report_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", "campaign_id": "bigint", "ad_group_id": "bigint", "pin_id": "bigint", "advertiser_id": "bigint", "pin_promotion_id": "bigint", "keyword_id": "bigint"}, "full_refresh": null, "on_schema_change": "ignore", "quote_columns": true, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "pinterest_source_integration_tests", "fqn": ["pinterest_source_integration_tests", "keyword_report_data"], "unique_id": "seed.pinterest_source_integration_tests.keyword_report_data", "package_name": "pinterest_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests", "path": "keyword_report_data.csv", "original_file_path": "seeds/keyword_report_data.csv", "name": "keyword_report_data", "alias": "keyword_report_data", "checksum": {"name": "sha256", "checksum": "1035144a7494a5a018e6a87770e8ee67eb6b98f6e899865c1e7c4b1bfc4b6951"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type in ('redshift','postgres') else false }}", "column_types": {"id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "ad_group_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "advertiser_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_promotion_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "keyword_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}"}}, "created_at": 1658344851.293061, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"keyword_report_data\""}, "seed.pinterest_source_integration_tests.pin_promotion_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", "campaign_id": "bigint", "ad_group_id": "bigint", "pin_id": "bigint", "advertiser_id": "bigint", "pin_promotion_id": "bigint", "keyword_id": "bigint"}, "full_refresh": null, "on_schema_change": "ignore", "quote_columns": true, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "pinterest_source_integration_tests", "fqn": ["pinterest_source_integration_tests", "pin_promotion_history_data"], "unique_id": "seed.pinterest_source_integration_tests.pin_promotion_history_data", "package_name": "pinterest_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests", "path": "pin_promotion_history_data.csv", "original_file_path": "seeds/pin_promotion_history_data.csv", "name": "pin_promotion_history_data", "alias": "pin_promotion_history_data", "checksum": {"name": "sha256", "checksum": "6b7c5d891ccb02be0c1e126545984964eb4fa226a9d1ae9741ad76288497e338"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type in ('redshift','postgres') else false }}", "column_types": {"id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "ad_group_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "advertiser_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_promotion_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "keyword_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}"}}, "created_at": 1658344851.294063, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"pin_promotion_history_data\""}, "seed.pinterest_source_integration_tests.advertiser_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", "campaign_id": "bigint", "ad_group_id": "bigint", "pin_id": "bigint", "advertiser_id": "bigint", "pin_promotion_id": "bigint", "keyword_id": "bigint"}, "full_refresh": null, "on_schema_change": "ignore", "quote_columns": true, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "pinterest_source_integration_tests", "fqn": ["pinterest_source_integration_tests", "advertiser_history_data"], "unique_id": "seed.pinterest_source_integration_tests.advertiser_history_data", "package_name": "pinterest_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests", "path": "advertiser_history_data.csv", "original_file_path": "seeds/advertiser_history_data.csv", "name": "advertiser_history_data", "alias": "advertiser_history_data", "checksum": {"name": "sha256", "checksum": "a1efd698a39cc0a75b74b43b84d114eddf6eaac9d3dd7d2a06e704951c091fe4"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type in ('redshift','postgres') else false }}", "column_types": {"id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "ad_group_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "advertiser_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_promotion_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "keyword_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}"}}, "created_at": 1658344851.295007, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"advertiser_history_data\""}, "seed.pinterest_source_integration_tests.advertiser_report_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", "campaign_id": "bigint", "ad_group_id": "bigint", "pin_id": "bigint", "advertiser_id": "bigint", "pin_promotion_id": "bigint", "keyword_id": "bigint"}, "full_refresh": null, "on_schema_change": "ignore", "quote_columns": true, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "pinterest_source_integration_tests", "fqn": ["pinterest_source_integration_tests", "advertiser_report_data"], "unique_id": "seed.pinterest_source_integration_tests.advertiser_report_data", "package_name": "pinterest_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests", "path": "advertiser_report_data.csv", "original_file_path": "seeds/advertiser_report_data.csv", "name": "advertiser_report_data", "alias": "advertiser_report_data", "checksum": {"name": "sha256", "checksum": "1c259e5a0e32230a041a13947432b02764f30f9a7aa245893c63a386fb2ee60e"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type in ('redshift','postgres') else false }}", "column_types": {"id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "ad_group_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "advertiser_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_promotion_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "keyword_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}"}}, "created_at": 1658344851.296059, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"advertiser_report_data\""}, "seed.pinterest_source_integration_tests.ad_group_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", "campaign_id": "bigint", "ad_group_id": "bigint", "pin_id": "bigint", "advertiser_id": "bigint", "pin_promotion_id": "bigint", "keyword_id": "bigint"}, "full_refresh": null, "on_schema_change": "ignore", "quote_columns": true, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "pinterest_source_integration_tests", "fqn": ["pinterest_source_integration_tests", "ad_group_history_data"], "unique_id": "seed.pinterest_source_integration_tests.ad_group_history_data", "package_name": "pinterest_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests", "path": "ad_group_history_data.csv", "original_file_path": "seeds/ad_group_history_data.csv", "name": "ad_group_history_data", "alias": "ad_group_history_data", "checksum": {"name": "sha256", "checksum": "ff76dce5a5b57b38a03bfc295838b9f05e99e3e310066ac3fc96f7c78e3b6be8"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type in ('redshift','postgres') else false }}", "column_types": {"id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "ad_group_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "advertiser_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_promotion_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "keyword_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}"}}, "created_at": 1658344851.296996, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"ad_group_history_data\""}, "seed.pinterest_source_integration_tests.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", "campaign_id": "bigint", "ad_group_id": "bigint", "pin_id": "bigint", "advertiser_id": "bigint", "pin_promotion_id": "bigint", "keyword_id": "bigint"}, "full_refresh": null, "on_schema_change": "ignore", "quote_columns": true, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "pinterest_source_integration_tests", "fqn": ["pinterest_source_integration_tests", "campaign_history_data"], "unique_id": "seed.pinterest_source_integration_tests.campaign_history_data", "package_name": "pinterest_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests", "path": "campaign_history_data.csv", "original_file_path": "seeds/campaign_history_data.csv", "name": "campaign_history_data", "alias": "campaign_history_data", "checksum": {"name": "sha256", "checksum": "4c2ec13ff8548a5571e2de4601947d72d934669534584fa234099b3200564aab"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type in ('redshift','postgres') else false }}", "column_types": {"id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "ad_group_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "advertiser_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_promotion_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "keyword_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}"}}, "created_at": 1658344851.297929, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"campaign_history_data\""}, "seed.pinterest_source_integration_tests.campaign_report_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", "campaign_id": "bigint", "ad_group_id": "bigint", "pin_id": "bigint", "advertiser_id": "bigint", "pin_promotion_id": "bigint", "keyword_id": "bigint"}, "full_refresh": null, "on_schema_change": "ignore", "quote_columns": true, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "pinterest_source_integration_tests", "fqn": ["pinterest_source_integration_tests", "campaign_report_data"], "unique_id": "seed.pinterest_source_integration_tests.campaign_report_data", "package_name": "pinterest_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests", "path": "campaign_report_data.csv", "original_file_path": "seeds/campaign_report_data.csv", "name": "campaign_report_data", "alias": "campaign_report_data", "checksum": {"name": "sha256", "checksum": "b13c07bb0eabe3bb01f21e3a9ca46d6d549a7ae56668fd3c3bc69ba033586638"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type in ('redshift','postgres') else false }}", "column_types": {"id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "ad_group_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "advertiser_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_promotion_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "keyword_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}"}}, "created_at": 1658344851.2988591, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"campaign_report_data\""}, "seed.pinterest_source_integration_tests.keyword_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", "campaign_id": "bigint", "ad_group_id": "bigint", "pin_id": "bigint", "advertiser_id": "bigint", "pin_promotion_id": "bigint", "keyword_id": "bigint"}, "full_refresh": null, "on_schema_change": "ignore", "quote_columns": true, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "pinterest_source_integration_tests", "fqn": ["pinterest_source_integration_tests", "keyword_history_data"], "unique_id": "seed.pinterest_source_integration_tests.keyword_history_data", "package_name": "pinterest_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests", "path": "keyword_history_data.csv", "original_file_path": "seeds/keyword_history_data.csv", "name": "keyword_history_data", "alias": "keyword_history_data", "checksum": {"name": "sha256", "checksum": "589c187cfa8845b5851700d6e10128a158fe860a55a4f4de7f83b1e92226bc9e"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type in ('redshift','postgres') else false }}", "column_types": {"id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "ad_group_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "advertiser_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_promotion_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "keyword_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}"}}, "created_at": 1658344851.299912, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"keyword_history_data\""}, "seed.pinterest_source_integration_tests.pin_promotion_report_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", "campaign_id": "bigint", "ad_group_id": "bigint", "pin_id": "bigint", "advertiser_id": "bigint", "pin_promotion_id": "bigint", "keyword_id": "bigint"}, "full_refresh": null, "on_schema_change": "ignore", "quote_columns": true, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "pinterest_source_integration_tests", "fqn": ["pinterest_source_integration_tests", "pin_promotion_report_data"], "unique_id": "seed.pinterest_source_integration_tests.pin_promotion_report_data", "package_name": "pinterest_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests", "path": "pin_promotion_report_data.csv", "original_file_path": "seeds/pin_promotion_report_data.csv", "name": "pin_promotion_report_data", "alias": "pin_promotion_report_data", "checksum": {"name": "sha256", "checksum": "925cc6b85b3db0a72f4b6caba706aca609a276e4c71786a651c0294b2cd6ad35"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type in ('redshift','postgres') else false }}", "column_types": {"id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "ad_group_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "advertiser_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_promotion_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "keyword_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}"}}, "created_at": 1658344851.3008482, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"pin_promotion_report_data\""}, "model.pinterest_source.stg_pinterest_ads__pin_promotion_history": {"raw_sql": "with base as (\n\n select *\n from {{ ref('stg_pinterest_ads__pin_promotion_history_tmp') }}\n), \n\nfields as (\n\n select\n\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_pinterest_ads__pin_promotion_history_tmp')),\n staging_columns=get_pin_promotion_history_columns()\n )\n }}\n from base\n), \n\nfinal as (\n\n select\n id as pin_promotion_id,\n ad_group_id,\n created_time as created_at,\n destination_url,\n {{ dbt_utils.split_part('destination_url', \"'?'\", 1) }} as base_url,\n {{ dbt_utils.get_url_host('destination_url') }} as url_host,\n '/' || {{ dbt_utils.get_url_path('destination_url') }} as url_path,\n {{ dbt_utils.get_url_parameter('destination_url', 'utm_source') }} as utm_source,\n {{ dbt_utils.get_url_parameter('destination_url', 'utm_medium') }} as utm_medium,\n {{ dbt_utils.get_url_parameter('destination_url', 'utm_campaign') }} as utm_campaign,\n {{ dbt_utils.get_url_parameter('destination_url', 'utm_content') }} as utm_content,\n {{ dbt_utils.get_url_parameter('destination_url', 'utm_term') }} as utm_term,\n name as pin_name,\n pin_id,\n status as pin_status,\n creative_type,\n _fivetran_synced\n from fields\n), \n\nsurrogate_key as (\n\n select \n *,\n row_number() over (partition by pin_promotion_id order by _fivetran_synced desc) = 1 as is_most_recent_record\n from final\n)\n\nselect *\nfrom surrogate_key", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.pinterest_source.get_pin_promotion_history_columns", "macro.fivetran_utils.fill_staging_columns", "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.pinterest_source.stg_pinterest_ads__pin_promotion_history_tmp", "model.pinterest_source.stg_pinterest_ads__pin_promotion_history_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "stg_pinterest_ads__pin_promotion_history"], "unique_id": "model.pinterest_source.stg_pinterest_ads__pin_promotion_history", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "stg_pinterest_ads__pin_promotion_history.sql", "original_file_path": "models/stg_pinterest_ads__pin_promotion_history.sql", "name": "stg_pinterest_ads__pin_promotion_history", "alias": "stg_pinterest_ads__pin_promotion_history", "checksum": {"name": "sha256", "checksum": "e58d90c1bb7d29becd3d75c83d9739700ab06395c88512b82cb292411aa0b846"}, "tags": [], "refs": [["stg_pinterest_ads__pin_promotion_history_tmp"], ["stg_pinterest_ads__pin_promotion_history_tmp"]], "sources": [], "description": "Each record represents a version of a Pinterest Pin promotion.", "columns": {"pin_promotion_id": {"name": "pin_promotion_id", "description": "Pin promotion ID.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_id": {"name": "ad_group_id", "description": "Pin promotion ad group ID.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "created_at": {"name": "created_at", "description": "Pin creation time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "destination_url": {"name": "destination_url", "description": "Pin destination URL.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "pin_name": {"name": "pin_name", "description": "Pin promotion name.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "pin_id": {"name": "pin_id", "description": "Original pin ID.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "pin_status": {"name": "pin_status", "description": "The status of the Pin promotion. One of \"ACTIVE\", \"ARCHIVED\", \"PAUSED\"", "meta": {}, "data_type": null, "quote": null, "tags": []}, "creative_type": {"name": "creative_type", "description": "The creative type. \nOne of \"APP\", \"APP_VIDEO\", \"BOARD\", \"CAROUSEL\", \"CINEMATIC\", \"COMMERCE\", \"MAX_VIDEO\", \"NATIVE_VIDEO\", \"REGULAR\", \n\"SEARCH_PROMINENCE\", \"SEARCH_PROMINENCE_CAROUSEL\", \"SHOPPING\", \"SHOP_THE_PIN\", \"THIRD_PARTY\", or \"VIDEO\".\n", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "is_most_recent_record": {"name": "is_most_recent_record", "description": "Boolean representing whether the record is the most recent version of the object.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "base_url": {"name": "base_url", "description": "The base URL of the ad, extracted from the `destination_url`.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "url_host": {"name": "url_host", "description": "The URL host of the ad, extracted from the `destination_url`.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "url_path": {"name": "url_path", "description": "The URL path of the ad, extracted from the `destination_url`.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "utm_source": {"name": "utm_source", "description": "The utm_source parameter of the ad, extracted from the `destination_url`.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "utm_medium": {"name": "utm_medium", "description": "The utm_medium parameter of the ad, extracted from the `destination_url`.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "utm_campaign": {"name": "utm_campaign", "description": "The utm_campaign parameter of the ad, extracted from the `destination_url`.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "utm_content": {"name": "utm_content", "description": "The utm_content parameter of the ad, extracted from the `destination_url`.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "utm_term": {"name": "utm_term", "description": "The utm_term parameter of the ad, extracted from the `destination_url`.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "pinterest_source://models/stg_pinterest_ads.yml", "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads__pin_promotion_history.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "table"}, "created_at": 1658344851.4898088, "compiled_sql": "with base as (\n\n select *\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__pin_promotion_history_tmp\"\n), \n\nfields as (\n\n select\n\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n ad_group_id\n \n as \n \n ad_group_id\n \n, \n cast(null as \n varchar\n) as \n \n android_deep_link\n \n , \n cast(null as \n varchar\n) as \n \n click_tracking_url\n \n , \n \n \n created_time\n \n as \n \n created_time\n \n, \n \n \n creative_type\n \n as \n \n creative_type\n \n, \n \n \n destination_url\n \n as \n \n destination_url\n \n, \n \n \n id\n \n as \n \n id\n \n, \n cast(null as \n varchar\n) as \n \n ios_deep_link\n \n , \n cast(null as boolean) as \n \n is_pin_deleted\n \n , \n cast(null as boolean) as \n \n is_removable\n \n , \n \n \n name\n \n as \n \n name\n \n, \n \n \n pin_id\n \n as \n \n pin_id\n \n, \n cast(null as \n varchar\n) as \n \n review_status\n \n , \n \n \n status\n \n as \n \n status\n \n, \n cast(null as \n timestamp without time zone\n) as \n \n updated_time\n \n , \n cast(null as \n varchar\n) as \n \n view_tracking_url\n \n \n\n\n from base\n), \n\nfinal as (\n\n select\n id as pin_promotion_id,\n ad_group_id,\n created_time as created_at,\n destination_url,\n \n\n \n \n\n split_part(\n destination_url,\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 destination_url,\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 destination_url,\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 destination_url,\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 destination_url,\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 destination_url,\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 nullif(\n\n \n \n\n split_part(\n \n\n \n \n\n split_part(\n destination_url,\n 'utm_source=',\n 2\n )\n\n\n \n\n,\n '&',\n 1\n )\n\n\n \n\n,'') as utm_source,\n nullif(\n\n \n \n\n split_part(\n \n\n \n \n\n split_part(\n destination_url,\n 'utm_medium=',\n 2\n )\n\n\n \n\n,\n '&',\n 1\n )\n\n\n \n\n,'') as utm_medium,\n nullif(\n\n \n \n\n split_part(\n \n\n \n \n\n split_part(\n destination_url,\n 'utm_campaign=',\n 2\n )\n\n\n \n\n,\n '&',\n 1\n )\n\n\n \n\n,'') as utm_campaign,\n nullif(\n\n \n \n\n split_part(\n \n\n \n \n\n split_part(\n destination_url,\n 'utm_content=',\n 2\n )\n\n\n \n\n,\n '&',\n 1\n )\n\n\n \n\n,'') as utm_content,\n nullif(\n\n \n \n\n split_part(\n \n\n \n \n\n split_part(\n destination_url,\n 'utm_term=',\n 2\n )\n\n\n \n\n,\n '&',\n 1\n )\n\n\n \n\n,'') as utm_term,\n name as pin_name,\n pin_id,\n status as pin_status,\n creative_type,\n _fivetran_synced\n from fields\n), \n\nsurrogate_key as (\n\n select \n *,\n row_number() over (partition by pin_promotion_id order by _fivetran_synced desc) = 1 as is_most_recent_record\n from final\n)\n\nselect *\nfrom surrogate_key", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__pin_promotion_history\""}, "model.pinterest_source.stg_pinterest_ads__keyword_report": {"raw_sql": "with base as (\n\n select * \n from {{ ref('stg_pinterest_ads__keyword_report_tmp') }}\n),\n\nfields as (\n\n select\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_pinterest_ads__keyword_report_tmp')),\n staging_columns=get_keyword_report_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select\n date as date_day,\n keyword_id,\n pin_promotion_id,\n ad_group_id,\n ad_group_name,\n ad_group_status,\n campaign_id,\n advertiser_id,\n coalesce(impression_1,0) + coalesce(impression_2,0) as impressions,\n coalesce(clickthrough_1,0) + coalesce(clickthrough_2,0) as clicks,\n spend_in_micro_dollar / 1000000.0 as spend\n\n {% for metric in var('pinterest__keyword_report_passthrough_metrics',[]) %}\n , {{ metric }}\n {% endfor %}\n\n from fields\n)\n\nselect *\nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.pinterest_source.get_keyword_report_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.pinterest_source.stg_pinterest_ads__keyword_report_tmp", "model.pinterest_source.stg_pinterest_ads__keyword_report_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "stg_pinterest_ads__keyword_report"], "unique_id": "model.pinterest_source.stg_pinterest_ads__keyword_report", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "stg_pinterest_ads__keyword_report.sql", "original_file_path": "models/stg_pinterest_ads__keyword_report.sql", "name": "stg_pinterest_ads__keyword_report", "alias": "stg_pinterest_ads__keyword_report", "checksum": {"name": "sha256", "checksum": "c91ccdc933830f32cd39e88713145bb31847fc659a848c3f064cf6470954e10c"}, "tags": [], "refs": [["stg_pinterest_ads__keyword_report_tmp"], ["stg_pinterest_ads__keyword_report_tmp"]], "sources": [], "description": "Each record represents the daily performance of Keywords by ad group, campaign, and advertiser.", "columns": {"date_day": {"name": "date_day", "description": "The performance date of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "keyword_id": {"name": "keyword_id", "description": "Unique identifier of the keyword.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "pin_promotion_id": {"name": "pin_promotion_id", "description": "The ID of the related Pin promotion.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_id": {"name": "ad_group_id", "description": "The ID of the related Ad group.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_name": {"name": "ad_group_name", "description": "Name of the ad group.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_status": {"name": "ad_group_status", "description": "Status of the ad group.", "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": []}, "advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impressions": {"name": "impressions", "description": "The number of paid and earned impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clicks": {"name": "clicks", "description": "The number of paid and earned clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend": {"name": "spend", "description": "The amount of spend that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "pinterest_source://models/stg_pinterest_ads.yml", "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads__keyword_report.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "table"}, "created_at": 1658344851.5001678, "compiled_sql": "with base as (\n\n select * \n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__keyword_report_tmp\"\n),\n\nfields as (\n\n select\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n ad_group_id\n \n as \n \n ad_group_id\n \n, \n \n \n ad_group_name\n \n as \n \n ad_group_name\n \n, \n \n \n ad_group_status\n \n as \n \n ad_group_status\n \n, \n \n \n advertiser_id\n \n as \n \n advertiser_id\n \n, \n \n \n campaign_id\n \n as \n \n campaign_id\n \n, \n \n \n clickthrough_1\n \n as \n \n clickthrough_1\n \n, \n cast(null as \n int\n) as \n \n clickthrough_2\n \n , \n \n \n date\n \n as \n \n date\n \n, \n \n \n impression_1\n \n as \n \n impression_1\n \n, \n cast(null as \n int\n) as \n \n impression_2\n \n , \n \n \n keyword_id\n \n as \n \n keyword_id\n \n, \n \n \n pin_promotion_id\n \n as \n \n pin_promotion_id\n \n, \n \n \n spend_in_micro_dollar\n \n as \n \n spend_in_micro_dollar\n \n\n\n\n from base\n),\n\nfinal as (\n \n select\n date as date_day,\n keyword_id,\n pin_promotion_id,\n ad_group_id,\n ad_group_name,\n ad_group_status,\n campaign_id,\n advertiser_id,\n coalesce(impression_1,0) + coalesce(impression_2,0) as impressions,\n coalesce(clickthrough_1,0) + coalesce(clickthrough_2,0) as clicks,\n spend_in_micro_dollar / 1000000.0 as spend\n\n \n\n from fields\n)\n\nselect *\nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__keyword_report\""}, "model.pinterest_source.stg_pinterest_ads__ad_group_report": {"raw_sql": "with base as (\n\n select * \n from {{ ref('stg_pinterest_ads__ad_group_report_tmp') }}\n),\n\nfields as (\n\n select\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_pinterest_ads__ad_group_report_tmp')),\n staging_columns=get_ad_group_report_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select \n date as date_day,\n ad_group_id,\n ad_group_name,\n ad_group_status,\n campaign_id,\n advertiser_id,\n coalesce(impression_1,0) + coalesce(impression_2,0) as impressions,\n coalesce(clickthrough_1,0) + coalesce(clickthrough_2,0) as clicks,\n spend_in_micro_dollar / 1000000.0 as spend\n\n {% for metric in var('pinterest__ad_group_report_passthrough_metrics',[]) %}\n , {{ metric }}\n {% endfor %}\n\n from fields\n)\n\nselect *\nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.pinterest_source.get_ad_group_report_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.pinterest_source.stg_pinterest_ads__ad_group_report_tmp", "model.pinterest_source.stg_pinterest_ads__ad_group_report_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "stg_pinterest_ads__ad_group_report"], "unique_id": "model.pinterest_source.stg_pinterest_ads__ad_group_report", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "stg_pinterest_ads__ad_group_report.sql", "original_file_path": "models/stg_pinterest_ads__ad_group_report.sql", "name": "stg_pinterest_ads__ad_group_report", "alias": "stg_pinterest_ads__ad_group_report", "checksum": {"name": "sha256", "checksum": "831a620b53cd2228cfb4d7f5bdd9ad85631972d6049b263d3e15234d84ae3e18"}, "tags": [], "refs": [["stg_pinterest_ads__ad_group_report_tmp"], ["stg_pinterest_ads__ad_group_report_tmp"]], "sources": [], "description": "Each record represents the daily performance of a Pinterest Ad Groups by campaign and advertiser.", "columns": {"date_day": {"name": "date_day", "description": "The performance date of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_id": {"name": "ad_group_id", "description": "The ID of the related Ad group.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_name": {"name": "ad_group_name", "description": "Name of the ad group.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_status": {"name": "ad_group_status", "description": "Status of the ad group.", "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": []}, "advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impressions": {"name": "impressions", "description": "The number of paid and earned impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clicks": {"name": "clicks", "description": "The number of paid and earned clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend": {"name": "spend", "description": "The amount of spend that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "pinterest_source://models/stg_pinterest_ads.yml", "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads__ad_group_report.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "table"}, "created_at": 1658344851.4926, "compiled_sql": "with base as (\n\n select * \n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__ad_group_report_tmp\"\n),\n\nfields as (\n\n select\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n ad_group_id\n \n as \n \n ad_group_id\n \n, \n \n \n ad_group_name\n \n as \n \n ad_group_name\n \n, \n \n \n ad_group_status\n \n as \n \n ad_group_status\n \n, \n \n \n advertiser_id\n \n as \n \n advertiser_id\n \n, \n \n \n campaign_id\n \n as \n \n campaign_id\n \n, \n \n \n clickthrough_1\n \n as \n \n clickthrough_1\n \n, \n cast(null as \n int\n) as \n \n clickthrough_2\n \n , \n \n \n date\n \n as \n \n date\n \n, \n \n \n impression_1\n \n as \n \n impression_1\n \n, \n cast(null as \n int\n) as \n \n impression_2\n \n , \n \n \n spend_in_micro_dollar\n \n as \n \n spend_in_micro_dollar\n \n\n\n\n from base\n),\n\nfinal as (\n \n select \n date as date_day,\n ad_group_id,\n ad_group_name,\n ad_group_status,\n campaign_id,\n advertiser_id,\n coalesce(impression_1,0) + coalesce(impression_2,0) as impressions,\n coalesce(clickthrough_1,0) + coalesce(clickthrough_2,0) as clicks,\n spend_in_micro_dollar / 1000000.0 as spend\n\n \n\n from fields\n)\n\nselect *\nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__ad_group_report\""}, "model.pinterest_source.stg_pinterest_ads__campaign_history": {"raw_sql": "with base as (\n\n select *\n from {{ ref('stg_pinterest_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_pinterest_ads__campaign_history_tmp')),\n staging_columns=get_campaign_history_columns()\n )\n }}\n from base\n), \n\nfinal as (\n\n select \n id as campaign_id,\n name as campaign_name,\n advertiser_id,\n status as campaign_status,\n _fivetran_synced,\n created_time as created_at\n from fields\n),\n\nmost_recent as (\n select \n *,\n row_number() over (partition by campaign_id order by _fivetran_synced desc) = 1 as is_most_recent_record\n from final\n)\n\nselect *\nfrom most_recent", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.pinterest_source.get_campaign_history_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.pinterest_source.stg_pinterest_ads__campaign_history_tmp", "model.pinterest_source.stg_pinterest_ads__campaign_history_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "stg_pinterest_ads__campaign_history"], "unique_id": "model.pinterest_source.stg_pinterest_ads__campaign_history", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "stg_pinterest_ads__campaign_history.sql", "original_file_path": "models/stg_pinterest_ads__campaign_history.sql", "name": "stg_pinterest_ads__campaign_history", "alias": "stg_pinterest_ads__campaign_history", "checksum": {"name": "sha256", "checksum": "dc5acb7c99056c415b7b7819b6054f15750b165179f7e55ab21afb705088b6eb"}, "tags": [], "refs": [["stg_pinterest_ads__campaign_history_tmp"], ["stg_pinterest_ads__campaign_history_tmp"]], "sources": [], "description": "Each record represents a version of a Pinterest Campaign.", "columns": {"campaign_id": {"name": "campaign_id", "description": "The ID of the related Campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "created_at": {"name": "created_at", "description": "Campaign creation time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_name": {"name": "campaign_name", "description": "Campaign name.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_status": {"name": "campaign_status", "description": "The status of the Campaign. One of \"ACTIVE\", \"ARCHIVED\", \"PAUSED\"", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "is_most_recent_record": {"name": "is_most_recent_record", "description": "Boolean representing whether the record is the most recent version of the object.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "pinterest_source://models/stg_pinterest_ads.yml", "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads__campaign_history.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "table"}, "created_at": 1658344851.487159, "compiled_sql": "with base as (\n\n select *\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__campaign_history_tmp\"\n), \n\nfields as (\n\n select\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n created_time\n \n as \n \n created_time\n \n, \n \n \n id\n \n as \n \n id\n \n, \n \n \n advertiser_id\n \n as \n \n advertiser_id\n \n, \n \n \n name\n \n as \n \n name\n \n, \n \n \n status\n \n as \n \n status\n \n\n\n\n from base\n), \n\nfinal as (\n\n select \n id as campaign_id,\n name as campaign_name,\n advertiser_id,\n status as campaign_status,\n _fivetran_synced,\n created_time as created_at\n from fields\n),\n\nmost_recent as (\n select \n *,\n row_number() over (partition by campaign_id order by _fivetran_synced desc) = 1 as is_most_recent_record\n from final\n)\n\nselect *\nfrom most_recent", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__campaign_history\""}, "model.pinterest_source.stg_pinterest_ads__advertiser_report": {"raw_sql": "with base as (\n\n select * \n from {{ ref('stg_pinterest_ads__advertiser_report_tmp') }}\n),\n\nfields as (\n\n select\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_pinterest_ads__advertiser_report_tmp')),\n staging_columns=get_advertiser_report_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select \n date as date_day,\n advertiser_id,\n coalesce(impression_1,0) + coalesce(impression_2,0) as impressions,\n coalesce(clickthrough_1,0) + coalesce(clickthrough_2,0) as clicks,\n spend_in_micro_dollar / 1000000.0 as spend\n\n {% for metric in var('pinterest__advertiser_report_passthrough_metrics',[]) %}\n , {{ metric }}\n {% endfor %}\n\n from fields\n)\n\nselect *\nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.pinterest_source.get_advertiser_report_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.pinterest_source.stg_pinterest_ads__advertiser_report_tmp", "model.pinterest_source.stg_pinterest_ads__advertiser_report_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "stg_pinterest_ads__advertiser_report"], "unique_id": "model.pinterest_source.stg_pinterest_ads__advertiser_report", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "stg_pinterest_ads__advertiser_report.sql", "original_file_path": "models/stg_pinterest_ads__advertiser_report.sql", "name": "stg_pinterest_ads__advertiser_report", "alias": "stg_pinterest_ads__advertiser_report", "checksum": {"name": "sha256", "checksum": "03f1b3e5345e9e8b873f1c6e2b5d3b59148ec9df51694167a83bb69c1859e010"}, "tags": [], "refs": [["stg_pinterest_ads__advertiser_report_tmp"], ["stg_pinterest_ads__advertiser_report_tmp"]], "sources": [], "description": "Each record represents the daily performance of an Advertiser.", "columns": {"date_day": {"name": "date_day", "description": "The performance date of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impressions": {"name": "impressions", "description": "The number of paid and earned impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clicks": {"name": "clicks", "description": "The number of paid and earned clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend": {"name": "spend", "description": "The amount of spend that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "pinterest_source://models/stg_pinterest_ads.yml", "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads__advertiser_report.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "table"}, "created_at": 1658344851.49534, "compiled_sql": "with base as (\n\n select * \n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__advertiser_report_tmp\"\n),\n\nfields as (\n\n select\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n advertiser_id\n \n as \n \n advertiser_id\n \n, \n \n \n clickthrough_1\n \n as \n \n clickthrough_1\n \n, \n cast(null as \n int\n) as \n \n clickthrough_2\n \n , \n \n \n date\n \n as \n \n date\n \n, \n \n \n impression_1\n \n as \n \n impression_1\n \n, \n cast(null as \n int\n) as \n \n impression_2\n \n , \n \n \n spend_in_micro_dollar\n \n as \n \n spend_in_micro_dollar\n \n\n\n\n from base\n),\n\nfinal as (\n \n select \n date as date_day,\n advertiser_id,\n coalesce(impression_1,0) + coalesce(impression_2,0) as impressions,\n coalesce(clickthrough_1,0) + coalesce(clickthrough_2,0) as clicks,\n spend_in_micro_dollar / 1000000.0 as spend\n\n \n\n from fields\n)\n\nselect *\nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__advertiser_report\""}, "model.pinterest_source.stg_pinterest_ads__advertiser_history": {"raw_sql": "with base as (\n\n select * \n from {{ ref('stg_pinterest_ads__advertiser_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_pinterest_ads__advertiser_history_tmp')),\n staging_columns=get_advertiser_history_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select \n id as advertiser_id,\n name as advertiser_name,\n status as advertiser_status,\n billing_profile_status,\n billing_type,\n country,\n created_time as created_at,\n currency as currency_code,\n merchant_id,\n owner_user_id,\n updated_time as updated_at\n from fields\n),\n\nmost_recent as (\n select\n *,\n row_number() over (partition by advertiser_id order by updated_at desc) = 1 as is_most_recent_record\n from final\n\n)\n\nselect *\nfrom most_recent", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.pinterest_source.get_advertiser_history_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.pinterest_source.stg_pinterest_ads__advertiser_history_tmp", "model.pinterest_source.stg_pinterest_ads__advertiser_history_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "stg_pinterest_ads__advertiser_history"], "unique_id": "model.pinterest_source.stg_pinterest_ads__advertiser_history", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "stg_pinterest_ads__advertiser_history.sql", "original_file_path": "models/stg_pinterest_ads__advertiser_history.sql", "name": "stg_pinterest_ads__advertiser_history", "alias": "stg_pinterest_ads__advertiser_history", "checksum": {"name": "sha256", "checksum": "a735cb6bffb3302d2717a3133bb5e1989c3b174bd15b94631e4f62d67d2bc71e"}, "tags": [], "refs": [["stg_pinterest_ads__advertiser_history_tmp"], ["stg_pinterest_ads__advertiser_history_tmp"]], "sources": [], "description": "Each record represents a version of an advertiser.", "columns": {"advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "advertiser_name": {"name": "advertiser_name", "description": "Name of the advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "advertiser_status": {"name": "advertiser_status", "description": "Status of the advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "billing_profile_status": {"name": "billing_profile_status", "description": "Status of the billing profile.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "billing_type": {"name": "billing_type", "description": "The billing type of the advertiser. Will typically be CREDIT_CARD or INVOICE.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "country": {"name": "country", "description": "The country code where the advertiser is located.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "created_at": {"name": "created_at", "description": "Timestamp of when a record was created.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "currency_code": {"name": "currency_code", "description": "The currency code which the advertiser is set up using.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "merchant_id": {"name": "merchant_id", "description": "Unique ID of the merchant associated with the advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "owner_user_id": {"name": "owner_user_id", "description": "Unique identifier of the owner user.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "updated_at": {"name": "updated_at", "description": "Timestamp of when a record was last updated.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "is_most_recent_record": {"name": "is_most_recent_record", "description": "Boolean representing whether the record is the most recent version of the object.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "pinterest_source://models/stg_pinterest_ads.yml", "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads__advertiser_history.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "table"}, "created_at": 1658344851.494364, "compiled_sql": "with base as (\n\n select * \n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__advertiser_history_tmp\"\n),\n\nfields as (\n\n select\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n billing_profile_status\n \n as \n \n billing_profile_status\n \n, \n \n \n billing_type\n \n as \n \n billing_type\n \n, \n \n \n country\n \n as \n \n country\n \n, \n \n \n created_time\n \n as \n \n created_time\n \n, \n \n \n currency\n \n as \n \n currency\n \n, \n \n \n id\n \n as \n \n id\n \n, \n \n \n merchant_id\n \n as \n \n merchant_id\n \n, \n \n \n name\n \n as \n \n name\n \n, \n \n \n owner_user_id\n \n as \n \n owner_user_id\n \n, \n \n \n status\n \n as \n \n status\n \n, \n \n \n updated_time\n \n as \n \n updated_time\n \n\n\n\n from base\n),\n\nfinal as (\n \n select \n id as advertiser_id,\n name as advertiser_name,\n status as advertiser_status,\n billing_profile_status,\n billing_type,\n country,\n created_time as created_at,\n currency as currency_code,\n merchant_id,\n owner_user_id,\n updated_time as updated_at\n from fields\n),\n\nmost_recent as (\n select\n *,\n row_number() over (partition by advertiser_id order by updated_at desc) = 1 as is_most_recent_record\n from final\n\n)\n\nselect *\nfrom most_recent", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__advertiser_history\""}, "model.pinterest_source.stg_pinterest_ads__campaign_report": {"raw_sql": "with base as (\n\n select * \n from {{ ref('stg_pinterest_ads__campaign_report_tmp') }}\n),\n\nfields as (\n\n select\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_pinterest_ads__campaign_report_tmp')),\n staging_columns=get_campaign_report_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select \n date as date_day,\n campaign_id,\n campaign_name,\n campaign_status,\n advertiser_id,\n coalesce(impression_1,0) + coalesce(impression_2,0) as impressions,\n coalesce(clickthrough_1,0) + coalesce(clickthrough_2,0) as clicks,\n spend_in_micro_dollar / 1000000.0 as spend\n\n {% for metric in var('pinterest__campaign_report_passthrough_metrics',[]) %}\n , {{ metric }}\n {% endfor %}\n\n from fields\n)\n\nselect *\nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.pinterest_source.get_campaign_report_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.pinterest_source.stg_pinterest_ads__campaign_report_tmp", "model.pinterest_source.stg_pinterest_ads__campaign_report_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "stg_pinterest_ads__campaign_report"], "unique_id": "model.pinterest_source.stg_pinterest_ads__campaign_report", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "stg_pinterest_ads__campaign_report.sql", "original_file_path": "models/stg_pinterest_ads__campaign_report.sql", "name": "stg_pinterest_ads__campaign_report", "alias": "stg_pinterest_ads__campaign_report", "checksum": {"name": "sha256", "checksum": "6951407d8fc8c1e72020f1da5c8d36a746f7d5d4f9c20ed5592b75dec402d725"}, "tags": [], "refs": [["stg_pinterest_ads__campaign_report_tmp"], ["stg_pinterest_ads__campaign_report_tmp"]], "sources": [], "description": "Each record represents the daily performance of Campaigns by advertiser.", "columns": {"date_day": {"name": "date_day", "description": "The performance date of the record.", "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": "Name of the campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_status": {"name": "campaign_status", "description": "Status of the campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impressions": {"name": "impressions", "description": "The number of paid and earned impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clicks": {"name": "clicks", "description": "The number of paid and earned clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend": {"name": "spend", "description": "The amount of spend that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "pinterest_source://models/stg_pinterest_ads.yml", "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads__campaign_report.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "table"}, "created_at": 1658344851.496602, "compiled_sql": "with base as (\n\n select * \n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__campaign_report_tmp\"\n),\n\nfields as (\n\n select\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n advertiser_id\n \n as \n \n advertiser_id\n \n, \n \n \n campaign_id\n \n as \n \n campaign_id\n \n, \n \n \n campaign_name\n \n as \n \n campaign_name\n \n, \n \n \n campaign_status\n \n as \n \n campaign_status\n \n, \n \n \n clickthrough_1\n \n as \n \n clickthrough_1\n \n, \n cast(null as \n int\n) as \n \n clickthrough_2\n \n , \n \n \n date\n \n as \n \n date\n \n, \n \n \n impression_1\n \n as \n \n impression_1\n \n, \n cast(null as \n int\n) as \n \n impression_2\n \n , \n \n \n spend_in_micro_dollar\n \n as \n \n spend_in_micro_dollar\n \n\n\n\n from base\n),\n\nfinal as (\n \n select \n date as date_day,\n campaign_id,\n campaign_name,\n campaign_status,\n advertiser_id,\n coalesce(impression_1,0) + coalesce(impression_2,0) as impressions,\n coalesce(clickthrough_1,0) + coalesce(clickthrough_2,0) as clicks,\n spend_in_micro_dollar / 1000000.0 as spend\n\n \n\n from fields\n)\n\nselect *\nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__campaign_report\""}, "model.pinterest_source.stg_pinterest_ads__keyword_history": {"raw_sql": "with base as (\n\n select * \n from {{ ref('stg_pinterest_ads__keyword_history_tmp') }}\n),\n\nfields as (\n\n select\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_pinterest_ads__keyword_history_tmp')),\n staging_columns=get_keyword_history_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select\n id as keyword_id,\n value as keyword_value,\n _fivetran_id,\n _fivetran_synced,\n ad_group_id,\n advertiser_id,\n archived,\n bid,\n campaign_id,\n match_type,\n parent_type\n from fields\n),\n\nmost_recent as (\n select\n *,\n row_number() over (partition by keyword_id order by _fivetran_synced desc) = 1 as is_most_recent_record\n from final\n)\n\nselect *\nfrom most_recent", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.pinterest_source.get_keyword_history_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.pinterest_source.stg_pinterest_ads__keyword_history_tmp", "model.pinterest_source.stg_pinterest_ads__keyword_history_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "stg_pinterest_ads__keyword_history"], "unique_id": "model.pinterest_source.stg_pinterest_ads__keyword_history", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "stg_pinterest_ads__keyword_history.sql", "original_file_path": "models/stg_pinterest_ads__keyword_history.sql", "name": "stg_pinterest_ads__keyword_history", "alias": "stg_pinterest_ads__keyword_history", "checksum": {"name": "sha256", "checksum": "699cd5961a1e73f18759bc85f569a503a381173579b2aa02bc27e1e8ae33fefd"}, "tags": [], "refs": [["stg_pinterest_ads__keyword_history_tmp"], ["stg_pinterest_ads__keyword_history_tmp"]], "sources": [], "description": "Each record represents the daily performance of a Keyword.", "columns": {"keyword_id": {"name": "keyword_id", "description": "Unique identifier of the keyword.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "keyword_value": {"name": "keyword_value", "description": "The text value that makes upd the keyword.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_id": {"name": "_fivetran_id", "description": "The unique identifier of the record within the Fivetran synced table.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_id": {"name": "ad_group_id", "description": "The ID of the related Ad group.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "archived": {"name": "archived", "description": "Boolean indicating if the keyword is archived.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "bid": {"name": "bid", "description": "Bid amount set for the keyword.", "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": []}, "match_type": {"name": "match_type", "description": "Type of match the keyword is tied to. Either Exact or Broad.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "parent_type": {"name": "parent_type", "description": "Identifier of what grain the parent type is. Ad group or campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "is_most_recent_record": {"name": "is_most_recent_record", "description": "Boolean representing whether the record is the most recent version of the object.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "pinterest_source://models/stg_pinterest_ads.yml", "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads__keyword_history.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "table"}, "created_at": 1658344851.498431, "compiled_sql": "with base as (\n\n select * \n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__keyword_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 ad_group_id\n \n as \n \n ad_group_id\n \n, \n \n \n advertiser_id\n \n as \n \n advertiser_id\n \n, \n \n \n archived\n \n as \n \n archived\n \n, \n \n \n bid\n \n as \n \n bid\n \n, \n \n \n campaign_id\n \n as \n \n campaign_id\n \n, \n \n \n id\n \n as \n \n id\n \n, \n \n \n match_type\n \n as \n \n match_type\n \n, \n \n \n parent_type\n \n as \n \n parent_type\n \n, \n \n \n value\n \n as \n \n value\n \n\n\n\n from base\n),\n\nfinal as (\n \n select\n id as keyword_id,\n value as keyword_value,\n _fivetran_id,\n _fivetran_synced,\n ad_group_id,\n advertiser_id,\n archived,\n bid,\n campaign_id,\n match_type,\n parent_type\n from fields\n),\n\nmost_recent as (\n select\n *,\n row_number() over (partition by keyword_id order by _fivetran_synced desc) = 1 as is_most_recent_record\n from final\n)\n\nselect *\nfrom most_recent", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__keyword_history\""}, "model.pinterest_source.stg_pinterest_ads__pin_promotion_report": {"raw_sql": "with base as (\n\n select *\n from {{ ref('stg_pinterest_ads__pin_promotion_report_tmp') }}\n), \n\nfields as (\n\n select\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_pinterest_ads__pin_promotion_report_tmp')),\n staging_columns=get_pin_promotion_report_columns()\n )\n }}\n from base\n), \n\nfinal as (\n\n select \n date as date_day,\n pin_promotion_id,\n ad_group_id,\n campaign_id,\n advertiser_id,\n coalesce(impression_1,0) + coalesce(impression_2,0) as impressions,\n coalesce(clickthrough_1,0) + coalesce(clickthrough_2,0) as clicks,\n spend_in_micro_dollar / 1000000.0 as spend\n\n {% for metric in var('pinterest__pin_promotion_report_passthrough_metrics',[]) %}\n , {{ metric }}\n {% endfor %}\n\n from fields\n)\n\nselect *\nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.pinterest_source.get_pin_promotion_report_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_report_tmp", "model.pinterest_source.stg_pinterest_ads__pin_promotion_report_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "stg_pinterest_ads__pin_promotion_report"], "unique_id": "model.pinterest_source.stg_pinterest_ads__pin_promotion_report", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "stg_pinterest_ads__pin_promotion_report.sql", "original_file_path": "models/stg_pinterest_ads__pin_promotion_report.sql", "name": "stg_pinterest_ads__pin_promotion_report", "alias": "stg_pinterest_ads__pin_promotion_report", "checksum": {"name": "sha256", "checksum": "64a1d7976df9e9ee2f030affc190a3ca54469f80497c95b7d636abf3065c602a"}, "tags": [], "refs": [["stg_pinterest_ads__pin_promotion_report_tmp"], ["stg_pinterest_ads__pin_promotion_report_tmp"]], "sources": [], "description": "Each record represents the daily performance of a Pinterest Pin promotion by ad group, campaign, and advertiser.", "columns": {"date_day": {"name": "date_day", "description": "The performance date of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "pin_promotion_id": {"name": "pin_promotion_id", "description": "The ID of the related Pin promotion.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_id": {"name": "ad_group_id", "description": "The ID of the related Ad group.", "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": []}, "advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impressions": {"name": "impressions", "description": "The number of paid and earned impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clicks": {"name": "clicks", "description": "The number of paid and earned clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend": {"name": "spend", "description": "The amount of spend that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "pinterest_source://models/stg_pinterest_ads.yml", "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads__pin_promotion_report.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "table"}, "created_at": 1658344851.4911082, "compiled_sql": "with base as (\n\n select *\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__pin_promotion_report_tmp\"\n), \n\nfields as (\n\n select\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n ad_group_id\n \n as \n \n ad_group_id\n \n, \n \n \n advertiser_id\n \n as \n \n advertiser_id\n \n, \n \n \n campaign_id\n \n as \n \n campaign_id\n \n, \n \n \n clickthrough_1\n \n as \n \n clickthrough_1\n \n, \n \n \n clickthrough_2\n \n as \n \n clickthrough_2\n \n, \n \n \n date\n \n as \n \n date\n \n, \n \n \n impression_1\n \n as \n \n impression_1\n \n, \n \n \n impression_2\n \n as \n \n impression_2\n \n, \n \n \n pin_promotion_id\n \n as \n \n pin_promotion_id\n \n, \n \n \n spend_in_micro_dollar\n \n as \n \n spend_in_micro_dollar\n \n\n\n\n from base\n), \n\nfinal as (\n\n select \n date as date_day,\n pin_promotion_id,\n ad_group_id,\n campaign_id,\n advertiser_id,\n coalesce(impression_1,0) + coalesce(impression_2,0) as impressions,\n coalesce(clickthrough_1,0) + coalesce(clickthrough_2,0) as clicks,\n spend_in_micro_dollar / 1000000.0 as spend\n\n \n\n from fields\n)\n\nselect *\nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__pin_promotion_report\""}, "model.pinterest_source.stg_pinterest_ads__ad_group_history": {"raw_sql": "with base as (\n\n select *\n from {{ ref('stg_pinterest_ads__ad_group_history_tmp') }}\n), \n\nfields as (\n\n select\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_pinterest_ads__ad_group_history_tmp')),\n staging_columns=get_ad_group_history_columns()\n )\n }}\n from base\n), \n\nfinal as (\n\n select \n id as ad_group_id,\n name as ad_group_name,\n status as ad_group_status,\n _fivetran_synced,\n campaign_id,\n created_time as created_at,\n end_time,\n start_time\n from fields\n),\n\nmost_recent as (\n select\n *,\n row_number() over (partition by ad_group_id order by _fivetran_synced desc) = 1 as is_most_recent_record\n from final\n)\n\nselect *\nfrom most_recent", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.pinterest_source.get_ad_group_history_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.pinterest_source.stg_pinterest_ads__ad_group_history_tmp", "model.pinterest_source.stg_pinterest_ads__ad_group_history_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "stg_pinterest_ads__ad_group_history"], "unique_id": "model.pinterest_source.stg_pinterest_ads__ad_group_history", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "stg_pinterest_ads__ad_group_history.sql", "original_file_path": "models/stg_pinterest_ads__ad_group_history.sql", "name": "stg_pinterest_ads__ad_group_history", "alias": "stg_pinterest_ads__ad_group_history", "checksum": {"name": "sha256", "checksum": "c84e7a8de947ba3bc3101e41f3ce4686265dc854469da158e839759dc2844303"}, "tags": [], "refs": [["stg_pinterest_ads__ad_group_history_tmp"], ["stg_pinterest_ads__ad_group_history_tmp"]], "sources": [], "description": "Each record represents a version of a Pinterest Ad Group.", "columns": {"ad_group_id": {"name": "ad_group_id", "description": "Ad group ID.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_id": {"name": "campaign_id", "description": "Parent Campaign ID.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "created_at": {"name": "created_at", "description": "Ad group creation time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_name": {"name": "ad_group_name", "description": "Ad group name.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_status": {"name": "ad_group_status", "description": "The status of the Ad group. One of \"ACTIVE\", \"ARCHIVED\", \"PAUSED\"", "meta": {}, "data_type": null, "quote": null, "tags": []}, "start_time": {"name": "start_time", "description": "Ad group start time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "end_time": {"name": "end_time", "description": "Ad group end time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "is_most_recent_record": {"name": "is_most_recent_record", "description": "Boolean representing whether the record is the most recent version of the object.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "pinterest_source://models/stg_pinterest_ads.yml", "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads__ad_group_history.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "table"}, "created_at": 1658344851.485945, "compiled_sql": "with base as (\n\n select *\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__ad_group_history_tmp\"\n), \n\nfields as (\n\n select\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n campaign_id\n \n as \n \n campaign_id\n \n, \n \n \n created_time\n \n as \n \n created_time\n \n, \n \n \n end_time\n \n as \n \n end_time\n \n, \n \n \n id\n \n as \n \n id\n \n, \n \n \n name\n \n as \n \n name\n \n, \n \n \n start_time\n \n as \n \n start_time\n \n, \n \n \n status\n \n as \n \n status\n \n\n\n\n from base\n), \n\nfinal as (\n\n select \n id as ad_group_id,\n name as ad_group_name,\n status as ad_group_status,\n _fivetran_synced,\n campaign_id,\n created_time as created_at,\n end_time,\n start_time\n from fields\n),\n\nmost_recent as (\n select\n *,\n row_number() over (partition by ad_group_id order by _fivetran_synced desc) = 1 as is_most_recent_record\n from final\n)\n\nselect *\nfrom most_recent", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__ad_group_history\""}, "model.pinterest_source.stg_pinterest_ads__advertiser_history_tmp": {"raw_sql": "select * \nfrom {{ var('advertiser_history') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.pinterest_source.pinterest_ads.advertiser_history"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "tmp", "stg_pinterest_ads__advertiser_history_tmp"], "unique_id": "model.pinterest_source.stg_pinterest_ads__advertiser_history_tmp", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "tmp/stg_pinterest_ads__advertiser_history_tmp.sql", "original_file_path": "models/tmp/stg_pinterest_ads__advertiser_history_tmp.sql", "name": "stg_pinterest_ads__advertiser_history_tmp", "alias": "stg_pinterest_ads__advertiser_history_tmp", "checksum": {"name": "sha256", "checksum": "60dc1039a40b4fd101ac71b52584219ef441b8f3231fab7270a1725731849343"}, "tags": [], "refs": [], "sources": [["pinterest_ads", "advertiser_history"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/tmp/stg_pinterest_ads__advertiser_history_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "view"}, "created_at": 1658344851.4267268, "compiled_sql": "select * \nfrom \"postgres\".\"pinterest_source_integration_tests\".\"advertiser_history_data\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__advertiser_history_tmp\""}, "model.pinterest_source.stg_pinterest_ads__pin_promotion_report_tmp": {"raw_sql": "select *\nfrom {{ var('pin_promotion_report') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.pinterest_source.pinterest_ads.pin_promotion_report"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "tmp", "stg_pinterest_ads__pin_promotion_report_tmp"], "unique_id": "model.pinterest_source.stg_pinterest_ads__pin_promotion_report_tmp", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "tmp/stg_pinterest_ads__pin_promotion_report_tmp.sql", "original_file_path": "models/tmp/stg_pinterest_ads__pin_promotion_report_tmp.sql", "name": "stg_pinterest_ads__pin_promotion_report_tmp", "alias": "stg_pinterest_ads__pin_promotion_report_tmp", "checksum": {"name": "sha256", "checksum": "18cfa5bd72f823f350eb4fd5f5400957cc628d66510236ca582e0186f4ed24f4"}, "tags": [], "refs": [], "sources": [["pinterest_ads", "pin_promotion_report"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/tmp/stg_pinterest_ads__pin_promotion_report_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "view"}, "created_at": 1658344851.432091, "compiled_sql": "select *\nfrom \"postgres\".\"pinterest_source_integration_tests\".\"pin_promotion_report_data\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__pin_promotion_report_tmp\""}, "model.pinterest_source.stg_pinterest_ads__campaign_report_tmp": {"raw_sql": "select * \nfrom {{ var('campaign_report') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.pinterest_source.pinterest_ads.campaign_report"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "tmp", "stg_pinterest_ads__campaign_report_tmp"], "unique_id": "model.pinterest_source.stg_pinterest_ads__campaign_report_tmp", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "tmp/stg_pinterest_ads__campaign_report_tmp.sql", "original_file_path": "models/tmp/stg_pinterest_ads__campaign_report_tmp.sql", "name": "stg_pinterest_ads__campaign_report_tmp", "alias": "stg_pinterest_ads__campaign_report_tmp", "checksum": {"name": "sha256", "checksum": "5f611ed15f119a95ac9ba29f2463d1924782790c0678cfca4fd0f25aab4d4296"}, "tags": [], "refs": [], "sources": [["pinterest_ads", "campaign_report"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/tmp/stg_pinterest_ads__campaign_report_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "view"}, "created_at": 1658344851.4353201, "compiled_sql": "select * \nfrom \"postgres\".\"pinterest_source_integration_tests\".\"campaign_report_data\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__campaign_report_tmp\""}, "model.pinterest_source.stg_pinterest_ads__advertiser_report_tmp": {"raw_sql": "select * \nfrom {{ var('advertiser_report') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.pinterest_source.pinterest_ads.advertiser_report"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "tmp", "stg_pinterest_ads__advertiser_report_tmp"], "unique_id": "model.pinterest_source.stg_pinterest_ads__advertiser_report_tmp", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "tmp/stg_pinterest_ads__advertiser_report_tmp.sql", "original_file_path": "models/tmp/stg_pinterest_ads__advertiser_report_tmp.sql", "name": "stg_pinterest_ads__advertiser_report_tmp", "alias": "stg_pinterest_ads__advertiser_report_tmp", "checksum": {"name": "sha256", "checksum": "68f4f29d7cc41371c11bca9e1ac615df584965bb7be78dda187252b1893b6a17"}, "tags": [], "refs": [], "sources": [["pinterest_ads", "advertiser_report"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/tmp/stg_pinterest_ads__advertiser_report_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "view"}, "created_at": 1658344851.4379158, "compiled_sql": "select * \nfrom \"postgres\".\"pinterest_source_integration_tests\".\"advertiser_report_data\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__advertiser_report_tmp\""}, "model.pinterest_source.stg_pinterest_ads__keyword_report_tmp": {"raw_sql": "select * \nfrom {{ var('keyword_report') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.pinterest_source.pinterest_ads.keyword_report"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "tmp", "stg_pinterest_ads__keyword_report_tmp"], "unique_id": "model.pinterest_source.stg_pinterest_ads__keyword_report_tmp", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "tmp/stg_pinterest_ads__keyword_report_tmp.sql", "original_file_path": "models/tmp/stg_pinterest_ads__keyword_report_tmp.sql", "name": "stg_pinterest_ads__keyword_report_tmp", "alias": "stg_pinterest_ads__keyword_report_tmp", "checksum": {"name": "sha256", "checksum": "180a05437502b97ae4654b06e70dee2f2324b4b80815c2be214cdc9cfcb4a99d"}, "tags": [], "refs": [], "sources": [["pinterest_ads", "keyword_report"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/tmp/stg_pinterest_ads__keyword_report_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "view"}, "created_at": 1658344851.440959, "compiled_sql": "select * \nfrom \"postgres\".\"pinterest_source_integration_tests\".\"keyword_report_data\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__keyword_report_tmp\""}, "model.pinterest_source.stg_pinterest_ads__ad_group_report_tmp": {"raw_sql": "select * \nfrom {{ var('ad_group_report') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.pinterest_source.pinterest_ads.ad_group_report"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "tmp", "stg_pinterest_ads__ad_group_report_tmp"], "unique_id": "model.pinterest_source.stg_pinterest_ads__ad_group_report_tmp", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "tmp/stg_pinterest_ads__ad_group_report_tmp.sql", "original_file_path": "models/tmp/stg_pinterest_ads__ad_group_report_tmp.sql", "name": "stg_pinterest_ads__ad_group_report_tmp", "alias": "stg_pinterest_ads__ad_group_report_tmp", "checksum": {"name": "sha256", "checksum": "7302e33164e446b0631e0dda341de8949d3ead51adddb6ba93fbda32b00449e2"}, "tags": [], "refs": [], "sources": [["pinterest_ads", "ad_group_report"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/tmp/stg_pinterest_ads__ad_group_report_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "view"}, "created_at": 1658344851.443788, "compiled_sql": "select * \nfrom \"postgres\".\"pinterest_source_integration_tests\".\"ad_group_report_data\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__ad_group_report_tmp\""}, "model.pinterest_source.stg_pinterest_ads__keyword_history_tmp": {"raw_sql": "select * \nfrom {{ var('keyword_history') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.pinterest_source.pinterest_ads.keyword_history"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "tmp", "stg_pinterest_ads__keyword_history_tmp"], "unique_id": "model.pinterest_source.stg_pinterest_ads__keyword_history_tmp", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "tmp/stg_pinterest_ads__keyword_history_tmp.sql", "original_file_path": "models/tmp/stg_pinterest_ads__keyword_history_tmp.sql", "name": "stg_pinterest_ads__keyword_history_tmp", "alias": "stg_pinterest_ads__keyword_history_tmp", "checksum": {"name": "sha256", "checksum": "beb1849e58089e1dbb21b3eca90782b48e6de96d5df38693417b91488ac622b1"}, "tags": [], "refs": [], "sources": [["pinterest_ads", "keyword_history"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/tmp/stg_pinterest_ads__keyword_history_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "view"}, "created_at": 1658344851.446452, "compiled_sql": "select * \nfrom \"postgres\".\"pinterest_source_integration_tests\".\"keyword_history_data\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__keyword_history_tmp\""}, "model.pinterest_source.stg_pinterest_ads__campaign_history_tmp": {"raw_sql": "select *\nfrom {{ var('campaign_history') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.pinterest_source.pinterest_ads.campaign_history"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "tmp", "stg_pinterest_ads__campaign_history_tmp"], "unique_id": "model.pinterest_source.stg_pinterest_ads__campaign_history_tmp", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "tmp/stg_pinterest_ads__campaign_history_tmp.sql", "original_file_path": "models/tmp/stg_pinterest_ads__campaign_history_tmp.sql", "name": "stg_pinterest_ads__campaign_history_tmp", "alias": "stg_pinterest_ads__campaign_history_tmp", "checksum": {"name": "sha256", "checksum": "ea41c8d4ba83ff540a5f38f481cbd17406e99954f8b9b7b086ac94203a8dd6bd"}, "tags": [], "refs": [], "sources": [["pinterest_ads", "campaign_history"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/tmp/stg_pinterest_ads__campaign_history_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "view"}, "created_at": 1658344851.449074, "compiled_sql": "select *\nfrom \"postgres\".\"pinterest_source_integration_tests\".\"campaign_history_data\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__campaign_history_tmp\""}, "model.pinterest_source.stg_pinterest_ads__ad_group_history_tmp": {"raw_sql": "select *\nfrom {{ var('ad_group_history') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.pinterest_source.pinterest_ads.ad_group_history"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "tmp", "stg_pinterest_ads__ad_group_history_tmp"], "unique_id": "model.pinterest_source.stg_pinterest_ads__ad_group_history_tmp", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "tmp/stg_pinterest_ads__ad_group_history_tmp.sql", "original_file_path": "models/tmp/stg_pinterest_ads__ad_group_history_tmp.sql", "name": "stg_pinterest_ads__ad_group_history_tmp", "alias": "stg_pinterest_ads__ad_group_history_tmp", "checksum": {"name": "sha256", "checksum": "23726e9b019c8268e9aaae828c6c1430685538bef615e52f2c17436dd3615dfa"}, "tags": [], "refs": [], "sources": [["pinterest_ads", "ad_group_history"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/tmp/stg_pinterest_ads__ad_group_history_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "view"}, "created_at": 1658344851.452519, "compiled_sql": "select *\nfrom \"postgres\".\"pinterest_source_integration_tests\".\"ad_group_history_data\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__ad_group_history_tmp\""}, "model.pinterest_source.stg_pinterest_ads__pin_promotion_history_tmp": {"raw_sql": "select *\nfrom {{ var('pin_promotion_history') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.pinterest_source.pinterest_ads.pin_promotion_history"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "tmp", "stg_pinterest_ads__pin_promotion_history_tmp"], "unique_id": "model.pinterest_source.stg_pinterest_ads__pin_promotion_history_tmp", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "tmp/stg_pinterest_ads__pin_promotion_history_tmp.sql", "original_file_path": "models/tmp/stg_pinterest_ads__pin_promotion_history_tmp.sql", "name": "stg_pinterest_ads__pin_promotion_history_tmp", "alias": "stg_pinterest_ads__pin_promotion_history_tmp", "checksum": {"name": "sha256", "checksum": "065bd24ab667bb3742cf11e3d96295c4c78ecdc04bb4d86a8bfa521482c55e71"}, "tags": [], "refs": [], "sources": [["pinterest_ads", "pin_promotion_history"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/tmp/stg_pinterest_ads__pin_promotion_history_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "view"}, "created_at": 1658344851.4552672, "compiled_sql": "select *\nfrom \"postgres\".\"pinterest_source_integration_tests\".\"pin_promotion_history_data\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__pin_promotion_history_tmp\""}, "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_history_ad_group_id.220c6220be": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "ad_group_id", "model": "{{ get_where_subquery(ref('stg_pinterest_ads__ad_group_history')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.pinterest_source.stg_pinterest_ads__ad_group_history"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "postgres", "schema": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "not_null_stg_pinterest_ads__ad_group_history_ad_group_id"], "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_history_ad_group_id.220c6220be", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "not_null_stg_pinterest_ads__ad_group_history_ad_group_id.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "not_null_stg_pinterest_ads__ad_group_history_ad_group_id", "alias": "not_null_stg_pinterest_ads__ad_group_history_ad_group_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__ad_group_history"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/not_null_stg_pinterest_ads__ad_group_history_ad_group_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1658344851.504069, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__ad_group_history\"\nwhere ad_group_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "ad_group_id", "file_key_name": "models.stg_pinterest_ads__ad_group_history"}, "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_history_ad_group_id___fivetran_synced.1132e1f339": {"raw_sql": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_14ec492421aa290adbd40aba9f38efa7\") }}", "test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["ad_group_id", "_fivetran_synced"], "model": "{{ get_where_subquery(ref('stg_pinterest_ads__ad_group_history')) }}"}, "namespace": "dbt_utils"}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.pinterest_source.stg_pinterest_ads__ad_group_history"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_14ec492421aa290adbd40aba9f38efa7", "schema": "dbt_test__audit", "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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_history_ad_group_id___fivetran_synced"], "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_history_ad_group_id___fivetran_synced.1132e1f339", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "dbt_utils_unique_combination_o_14ec492421aa290adbd40aba9f38efa7.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_history_ad_group_id___fivetran_synced", "alias": "dbt_utils_unique_combination_o_14ec492421aa290adbd40aba9f38efa7", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__ad_group_history"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/dbt_utils_unique_combination_o_14ec492421aa290adbd40aba9f38efa7.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_14ec492421aa290adbd40aba9f38efa7"}, "created_at": 1658344851.5052428, "compiled_sql": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n ad_group_id, _fivetran_synced\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__ad_group_history\"\n group by ad_group_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_pinterest_ads__ad_group_history"}, "test.pinterest_source.not_null_stg_pinterest_ads__campaign_history_campaign_id.60cb10d341": {"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_pinterest_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.pinterest_source.stg_pinterest_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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "not_null_stg_pinterest_ads__campaign_history_campaign_id"], "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__campaign_history_campaign_id.60cb10d341", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "not_null_stg_pinterest_ads__campaign_history_campaign_id.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "not_null_stg_pinterest_ads__campaign_history_campaign_id", "alias": "not_null_stg_pinterest_ads__campaign_history_campaign_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__campaign_history"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/not_null_stg_pinterest_ads__campaign_history_campaign_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1658344851.511961, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_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_pinterest_ads__campaign_history"}, "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_history_campaign_id___fivetran_synced.eff7196b87": {"raw_sql": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_0f71f27ed6b0ce2d4940b4361559871b\") }}", "test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["campaign_id", "_fivetran_synced"], "model": "{{ get_where_subquery(ref('stg_pinterest_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.pinterest_source.stg_pinterest_ads__campaign_history"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_0f71f27ed6b0ce2d4940b4361559871b", "schema": "dbt_test__audit", "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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_history_campaign_id___fivetran_synced"], "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_history_campaign_id___fivetran_synced.eff7196b87", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "dbt_utils_unique_combination_o_0f71f27ed6b0ce2d4940b4361559871b.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_history_campaign_id___fivetran_synced", "alias": "dbt_utils_unique_combination_o_0f71f27ed6b0ce2d4940b4361559871b", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__campaign_history"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/dbt_utils_unique_combination_o_0f71f27ed6b0ce2d4940b4361559871b.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_0f71f27ed6b0ce2d4940b4361559871b"}, "created_at": 1658344851.513066, "compiled_sql": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n campaign_id, _fivetran_synced\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__campaign_history\"\n group by campaign_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_pinterest_ads__campaign_history"}, "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_history_pin_promotion_id.171995cd34": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}{{ config(alias=\"not_null_stg_pinterest_ads__pi_5cf03dfc3d2615f9d68ae62d55aa2b8f\") }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "pin_promotion_id", "model": "{{ get_where_subquery(ref('stg_pinterest_ads__pin_promotion_history')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_history"]}, "config": {"enabled": true, "alias": "not_null_stg_pinterest_ads__pi_5cf03dfc3d2615f9d68ae62d55aa2b8f", "schema": "dbt_test__audit", "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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "not_null_stg_pinterest_ads__pin_promotion_history_pin_promotion_id"], "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_history_pin_promotion_id.171995cd34", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "not_null_stg_pinterest_ads__pi_5cf03dfc3d2615f9d68ae62d55aa2b8f.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "not_null_stg_pinterest_ads__pin_promotion_history_pin_promotion_id", "alias": "not_null_stg_pinterest_ads__pi_5cf03dfc3d2615f9d68ae62d55aa2b8f", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__pin_promotion_history"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/not_null_stg_pinterest_ads__pi_5cf03dfc3d2615f9d68ae62d55aa2b8f.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "not_null_stg_pinterest_ads__pi_5cf03dfc3d2615f9d68ae62d55aa2b8f"}, "created_at": 1658344851.5155132, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__pin_promotion_history\"\nwhere pin_promotion_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "pin_promotion_id", "file_key_name": "models.stg_pinterest_ads__pin_promotion_history"}, "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_history__fivetran_synced__pin_promotion_id.8e9ab31ea9": {"raw_sql": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_e0501de9c3316348957b42725bcba175\") }}", "test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["_fivetran_synced", "pin_promotion_id"], "model": "{{ get_where_subquery(ref('stg_pinterest_ads__pin_promotion_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.pinterest_source.stg_pinterest_ads__pin_promotion_history"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_e0501de9c3316348957b42725bcba175", "schema": "dbt_test__audit", "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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_history__fivetran_synced__pin_promotion_id"], "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_history__fivetran_synced__pin_promotion_id.8e9ab31ea9", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "dbt_utils_unique_combination_o_e0501de9c3316348957b42725bcba175.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_history__fivetran_synced__pin_promotion_id", "alias": "dbt_utils_unique_combination_o_e0501de9c3316348957b42725bcba175", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__pin_promotion_history"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/dbt_utils_unique_combination_o_e0501de9c3316348957b42725bcba175.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_e0501de9c3316348957b42725bcba175"}, "created_at": 1658344851.516885, "compiled_sql": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n _fivetran_synced, pin_promotion_id\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__pin_promotion_history\"\n group by _fivetran_synced, pin_promotion_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_pinterest_ads__pin_promotion_history"}, "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_report_date_day.ed272212a1": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "date_day", "model": "{{ get_where_subquery(ref('stg_pinterest_ads__pin_promotion_report')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "not_null_stg_pinterest_ads__pin_promotion_report_date_day"], "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_report_date_day.ed272212a1", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "not_null_stg_pinterest_ads__pin_promotion_report_date_day.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "not_null_stg_pinterest_ads__pin_promotion_report_date_day", "alias": "not_null_stg_pinterest_ads__pin_promotion_report_date_day", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__pin_promotion_report"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/not_null_stg_pinterest_ads__pin_promotion_report_date_day.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1658344851.5194418, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__pin_promotion_report\"\nwhere date_day is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "date_day", "file_key_name": "models.stg_pinterest_ads__pin_promotion_report"}, "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_report_pin_promotion_id.9c3c9f71ab": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}{{ config(alias=\"not_null_stg_pinterest_ads__pi_d0985f4b7b2bc6d5ec7f384cc03d6f4b\") }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "pin_promotion_id", "model": "{{ get_where_subquery(ref('stg_pinterest_ads__pin_promotion_report')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_report"]}, "config": {"enabled": true, "alias": "not_null_stg_pinterest_ads__pi_d0985f4b7b2bc6d5ec7f384cc03d6f4b", "schema": "dbt_test__audit", "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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "not_null_stg_pinterest_ads__pin_promotion_report_pin_promotion_id"], "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_report_pin_promotion_id.9c3c9f71ab", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "not_null_stg_pinterest_ads__pi_d0985f4b7b2bc6d5ec7f384cc03d6f4b.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "not_null_stg_pinterest_ads__pin_promotion_report_pin_promotion_id", "alias": "not_null_stg_pinterest_ads__pi_d0985f4b7b2bc6d5ec7f384cc03d6f4b", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__pin_promotion_report"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/not_null_stg_pinterest_ads__pi_d0985f4b7b2bc6d5ec7f384cc03d6f4b.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "not_null_stg_pinterest_ads__pi_d0985f4b7b2bc6d5ec7f384cc03d6f4b"}, "created_at": 1658344851.520407, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__pin_promotion_report\"\nwhere pin_promotion_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "pin_promotion_id", "file_key_name": "models.stg_pinterest_ads__pin_promotion_report"}, "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_report_date_day__pin_promotion_id__ad_group_id__campaign_id__advertiser_id.7ea04e6024": {"raw_sql": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_b200b80456022485be650ebe0c64fc19\") }}", "test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["date_day", "pin_promotion_id", "ad_group_id", "campaign_id", "advertiser_id"], "model": "{{ get_where_subquery(ref('stg_pinterest_ads__pin_promotion_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.pinterest_source.stg_pinterest_ads__pin_promotion_report"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_b200b80456022485be650ebe0c64fc19", "schema": "dbt_test__audit", "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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_report_date_day__pin_promotion_id__ad_group_id__campaign_id__advertiser_id"], "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_report_date_day__pin_promotion_id__ad_group_id__campaign_id__advertiser_id.7ea04e6024", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "dbt_utils_unique_combination_o_b200b80456022485be650ebe0c64fc19.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_report_date_day__pin_promotion_id__ad_group_id__campaign_id__advertiser_id", "alias": "dbt_utils_unique_combination_o_b200b80456022485be650ebe0c64fc19", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__pin_promotion_report"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/dbt_utils_unique_combination_o_b200b80456022485be650ebe0c64fc19.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_b200b80456022485be650ebe0c64fc19"}, "created_at": 1658344851.521429, "compiled_sql": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n date_day, pin_promotion_id, ad_group_id, campaign_id, advertiser_id\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__pin_promotion_report\"\n group by date_day, pin_promotion_id, ad_group_id, campaign_id, advertiser_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_pinterest_ads__pin_promotion_report"}, "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_report_date_day.80e8904c4c": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "date_day", "model": "{{ get_where_subquery(ref('stg_pinterest_ads__ad_group_report')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.pinterest_source.stg_pinterest_ads__ad_group_report"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "postgres", "schema": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "not_null_stg_pinterest_ads__ad_group_report_date_day"], "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_report_date_day.80e8904c4c", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "not_null_stg_pinterest_ads__ad_group_report_date_day.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "not_null_stg_pinterest_ads__ad_group_report_date_day", "alias": "not_null_stg_pinterest_ads__ad_group_report_date_day", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__ad_group_report"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/not_null_stg_pinterest_ads__ad_group_report_date_day.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1658344851.5243578, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__ad_group_report\"\nwhere date_day is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "date_day", "file_key_name": "models.stg_pinterest_ads__ad_group_report"}, "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_report_ad_group_id.bb8cf3c471": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "ad_group_id", "model": "{{ get_where_subquery(ref('stg_pinterest_ads__ad_group_report')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.pinterest_source.stg_pinterest_ads__ad_group_report"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "postgres", "schema": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "not_null_stg_pinterest_ads__ad_group_report_ad_group_id"], "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_report_ad_group_id.bb8cf3c471", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "not_null_stg_pinterest_ads__ad_group_report_ad_group_id.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "not_null_stg_pinterest_ads__ad_group_report_ad_group_id", "alias": "not_null_stg_pinterest_ads__ad_group_report_ad_group_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__ad_group_report"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/not_null_stg_pinterest_ads__ad_group_report_ad_group_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1658344851.525439, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__ad_group_report\"\nwhere ad_group_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "ad_group_id", "file_key_name": "models.stg_pinterest_ads__ad_group_report"}, "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_report_date_day__ad_group_id__campaign_id__advertiser_id.3800c02b0e": {"raw_sql": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_e8f9cd4890106f736fbaf772885876c8\") }}", "test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["date_day", "ad_group_id", "campaign_id", "advertiser_id"], "model": "{{ get_where_subquery(ref('stg_pinterest_ads__ad_group_report')) }}"}, "namespace": "dbt_utils"}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.pinterest_source.stg_pinterest_ads__ad_group_report"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_e8f9cd4890106f736fbaf772885876c8", "schema": "dbt_test__audit", "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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_report_date_day__ad_group_id__campaign_id__advertiser_id"], "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_report_date_day__ad_group_id__campaign_id__advertiser_id.3800c02b0e", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "dbt_utils_unique_combination_o_e8f9cd4890106f736fbaf772885876c8.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_report_date_day__ad_group_id__campaign_id__advertiser_id", "alias": "dbt_utils_unique_combination_o_e8f9cd4890106f736fbaf772885876c8", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__ad_group_report"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/dbt_utils_unique_combination_o_e8f9cd4890106f736fbaf772885876c8.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_e8f9cd4890106f736fbaf772885876c8"}, "created_at": 1658344851.5264, "compiled_sql": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n date_day, ad_group_id, campaign_id, advertiser_id\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__ad_group_report\"\n group by date_day, ad_group_id, campaign_id, advertiser_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_pinterest_ads__ad_group_report"}, "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_history_advertiser_id.7d24f665fb": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "advertiser_id", "model": "{{ get_where_subquery(ref('stg_pinterest_ads__advertiser_history')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.pinterest_source.stg_pinterest_ads__advertiser_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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "not_null_stg_pinterest_ads__advertiser_history_advertiser_id"], "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_history_advertiser_id.7d24f665fb", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "not_null_stg_pinterest_ads__advertiser_history_advertiser_id.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "not_null_stg_pinterest_ads__advertiser_history_advertiser_id", "alias": "not_null_stg_pinterest_ads__advertiser_history_advertiser_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__advertiser_history"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/not_null_stg_pinterest_ads__advertiser_history_advertiser_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1658344851.5291789, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__advertiser_history\"\nwhere advertiser_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "advertiser_id", "file_key_name": "models.stg_pinterest_ads__advertiser_history"}, "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_history_updated_at__advertiser_id.94e8f4de4b": {"raw_sql": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_ac571a135eb9bbe6db1401c33b830733\") }}", "test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["updated_at", "advertiser_id"], "model": "{{ get_where_subquery(ref('stg_pinterest_ads__advertiser_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.pinterest_source.stg_pinterest_ads__advertiser_history"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_ac571a135eb9bbe6db1401c33b830733", "schema": "dbt_test__audit", "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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_history_updated_at__advertiser_id"], "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_history_updated_at__advertiser_id.94e8f4de4b", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "dbt_utils_unique_combination_o_ac571a135eb9bbe6db1401c33b830733.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_history_updated_at__advertiser_id", "alias": "dbt_utils_unique_combination_o_ac571a135eb9bbe6db1401c33b830733", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__advertiser_history"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/dbt_utils_unique_combination_o_ac571a135eb9bbe6db1401c33b830733.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_ac571a135eb9bbe6db1401c33b830733"}, "created_at": 1658344851.530148, "compiled_sql": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n updated_at, advertiser_id\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__advertiser_history\"\n group by updated_at, advertiser_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_pinterest_ads__advertiser_history"}, "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_report_date_day.153bd03c95": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "date_day", "model": "{{ get_where_subquery(ref('stg_pinterest_ads__advertiser_report')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.pinterest_source.stg_pinterest_ads__advertiser_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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "not_null_stg_pinterest_ads__advertiser_report_date_day"], "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_report_date_day.153bd03c95", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "not_null_stg_pinterest_ads__advertiser_report_date_day.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "not_null_stg_pinterest_ads__advertiser_report_date_day", "alias": "not_null_stg_pinterest_ads__advertiser_report_date_day", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__advertiser_report"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/not_null_stg_pinterest_ads__advertiser_report_date_day.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1658344851.532691, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__advertiser_report\"\nwhere date_day is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "date_day", "file_key_name": "models.stg_pinterest_ads__advertiser_report"}, "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_report_advertiser_id.1b16ed73ff": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "advertiser_id", "model": "{{ get_where_subquery(ref('stg_pinterest_ads__advertiser_report')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.pinterest_source.stg_pinterest_ads__advertiser_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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "not_null_stg_pinterest_ads__advertiser_report_advertiser_id"], "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_report_advertiser_id.1b16ed73ff", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "not_null_stg_pinterest_ads__advertiser_report_advertiser_id.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "not_null_stg_pinterest_ads__advertiser_report_advertiser_id", "alias": "not_null_stg_pinterest_ads__advertiser_report_advertiser_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__advertiser_report"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/not_null_stg_pinterest_ads__advertiser_report_advertiser_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1658344851.533637, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__advertiser_report\"\nwhere advertiser_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "advertiser_id", "file_key_name": "models.stg_pinterest_ads__advertiser_report"}, "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_report_date_day__advertiser_id.e92ce8a9c0": {"raw_sql": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_7440d10d36ca9b555b1bb533d442c6de\") }}", "test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["date_day", "advertiser_id"], "model": "{{ get_where_subquery(ref('stg_pinterest_ads__advertiser_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.pinterest_source.stg_pinterest_ads__advertiser_report"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_7440d10d36ca9b555b1bb533d442c6de", "schema": "dbt_test__audit", "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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_report_date_day__advertiser_id"], "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_report_date_day__advertiser_id.e92ce8a9c0", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "dbt_utils_unique_combination_o_7440d10d36ca9b555b1bb533d442c6de.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_report_date_day__advertiser_id", "alias": "dbt_utils_unique_combination_o_7440d10d36ca9b555b1bb533d442c6de", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__advertiser_report"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/dbt_utils_unique_combination_o_7440d10d36ca9b555b1bb533d442c6de.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_7440d10d36ca9b555b1bb533d442c6de"}, "created_at": 1658344851.534716, "compiled_sql": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n date_day, advertiser_id\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__advertiser_report\"\n group by date_day, advertiser_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_pinterest_ads__advertiser_report"}, "test.pinterest_source.not_null_stg_pinterest_ads__campaign_report_date_day.7ef5fb1238": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "date_day", "model": "{{ get_where_subquery(ref('stg_pinterest_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.pinterest_source.stg_pinterest_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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "not_null_stg_pinterest_ads__campaign_report_date_day"], "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__campaign_report_date_day.7ef5fb1238", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "not_null_stg_pinterest_ads__campaign_report_date_day.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "not_null_stg_pinterest_ads__campaign_report_date_day", "alias": "not_null_stg_pinterest_ads__campaign_report_date_day", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__campaign_report"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/not_null_stg_pinterest_ads__campaign_report_date_day.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1658344851.5371351, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__campaign_report\"\nwhere date_day is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "date_day", "file_key_name": "models.stg_pinterest_ads__campaign_report"}, "test.pinterest_source.not_null_stg_pinterest_ads__campaign_report_campaign_id.a287eba0fc": {"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_pinterest_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.pinterest_source.stg_pinterest_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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "not_null_stg_pinterest_ads__campaign_report_campaign_id"], "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__campaign_report_campaign_id.a287eba0fc", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "not_null_stg_pinterest_ads__campaign_report_campaign_id.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "not_null_stg_pinterest_ads__campaign_report_campaign_id", "alias": "not_null_stg_pinterest_ads__campaign_report_campaign_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__campaign_report"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/not_null_stg_pinterest_ads__campaign_report_campaign_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1658344851.538219, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__campaign_report\"\nwhere campaign_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "campaign_id", "file_key_name": "models.stg_pinterest_ads__campaign_report"}, "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_report_date_day__campaign_id__advertiser_id.ff47cb8abc": {"raw_sql": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_ea5276bb765474198ad51f22f75fccbf\") }}", "test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["date_day", "campaign_id", "advertiser_id"], "model": "{{ get_where_subquery(ref('stg_pinterest_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.pinterest_source.stg_pinterest_ads__campaign_report"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_ea5276bb765474198ad51f22f75fccbf", "schema": "dbt_test__audit", "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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_report_date_day__campaign_id__advertiser_id"], "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_report_date_day__campaign_id__advertiser_id.ff47cb8abc", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "dbt_utils_unique_combination_o_ea5276bb765474198ad51f22f75fccbf.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_report_date_day__campaign_id__advertiser_id", "alias": "dbt_utils_unique_combination_o_ea5276bb765474198ad51f22f75fccbf", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__campaign_report"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/dbt_utils_unique_combination_o_ea5276bb765474198ad51f22f75fccbf.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_ea5276bb765474198ad51f22f75fccbf"}, "created_at": 1658344851.53916, "compiled_sql": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n date_day, campaign_id, advertiser_id\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__campaign_report\"\n group by date_day, campaign_id, advertiser_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_pinterest_ads__campaign_report"}, "test.pinterest_source.not_null_stg_pinterest_ads__keyword_history_keyword_id.246889377a": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "keyword_id", "model": "{{ get_where_subquery(ref('stg_pinterest_ads__keyword_history')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.pinterest_source.stg_pinterest_ads__keyword_history"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "postgres", "schema": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "not_null_stg_pinterest_ads__keyword_history_keyword_id"], "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__keyword_history_keyword_id.246889377a", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "not_null_stg_pinterest_ads__keyword_history_keyword_id.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "not_null_stg_pinterest_ads__keyword_history_keyword_id", "alias": "not_null_stg_pinterest_ads__keyword_history_keyword_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__keyword_history"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/not_null_stg_pinterest_ads__keyword_history_keyword_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1658344851.541812, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__keyword_history\"\nwhere keyword_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "keyword_id", "file_key_name": "models.stg_pinterest_ads__keyword_history"}, "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_history_keyword_id__ad_group_id___fivetran_synced.d122faa877": {"raw_sql": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_ed0c009a9ff1bbb46e1ea2a210b25628\") }}", "test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["keyword_id", "ad_group_id", "_fivetran_synced"], "model": "{{ get_where_subquery(ref('stg_pinterest_ads__keyword_history')) }}"}, "namespace": "dbt_utils"}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.pinterest_source.stg_pinterest_ads__keyword_history"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_ed0c009a9ff1bbb46e1ea2a210b25628", "schema": "dbt_test__audit", "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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_history_keyword_id__ad_group_id___fivetran_synced"], "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_history_keyword_id__ad_group_id___fivetran_synced.d122faa877", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "dbt_utils_unique_combination_o_ed0c009a9ff1bbb46e1ea2a210b25628.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_history_keyword_id__ad_group_id___fivetran_synced", "alias": "dbt_utils_unique_combination_o_ed0c009a9ff1bbb46e1ea2a210b25628", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__keyword_history"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/dbt_utils_unique_combination_o_ed0c009a9ff1bbb46e1ea2a210b25628.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_ed0c009a9ff1bbb46e1ea2a210b25628"}, "created_at": 1658344851.542766, "compiled_sql": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n keyword_id, ad_group_id, _fivetran_synced\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__keyword_history\"\n group by keyword_id, ad_group_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_pinterest_ads__keyword_history"}, "test.pinterest_source.not_null_stg_pinterest_ads__keyword_report_date_day.9937216300": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "date_day", "model": "{{ get_where_subquery(ref('stg_pinterest_ads__keyword_report')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.pinterest_source.stg_pinterest_ads__keyword_report"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "postgres", "schema": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "not_null_stg_pinterest_ads__keyword_report_date_day"], "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__keyword_report_date_day.9937216300", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "not_null_stg_pinterest_ads__keyword_report_date_day.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "not_null_stg_pinterest_ads__keyword_report_date_day", "alias": "not_null_stg_pinterest_ads__keyword_report_date_day", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__keyword_report"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/not_null_stg_pinterest_ads__keyword_report_date_day.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1658344851.545433, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__keyword_report\"\nwhere date_day is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "date_day", "file_key_name": "models.stg_pinterest_ads__keyword_report"}, "test.pinterest_source.not_null_stg_pinterest_ads__keyword_report_keyword_id.5f00679c48": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "keyword_id", "model": "{{ get_where_subquery(ref('stg_pinterest_ads__keyword_report')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.pinterest_source.stg_pinterest_ads__keyword_report"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "postgres", "schema": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "not_null_stg_pinterest_ads__keyword_report_keyword_id"], "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__keyword_report_keyword_id.5f00679c48", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "not_null_stg_pinterest_ads__keyword_report_keyword_id.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "not_null_stg_pinterest_ads__keyword_report_keyword_id", "alias": "not_null_stg_pinterest_ads__keyword_report_keyword_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__keyword_report"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/not_null_stg_pinterest_ads__keyword_report_keyword_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1658344851.546387, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__keyword_report\"\nwhere keyword_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "keyword_id", "file_key_name": "models.stg_pinterest_ads__keyword_report"}, "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_report_date_day__keyword_id__ad_group_id__campaign_id__advertiser_id.3ac101cc13": {"raw_sql": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_9e2909bcbf42ab2426c3540a2e7a0bb7\") }}", "test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["date_day", "keyword_id", "ad_group_id", "campaign_id", "advertiser_id"], "model": "{{ get_where_subquery(ref('stg_pinterest_ads__keyword_report')) }}"}, "namespace": "dbt_utils"}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.pinterest_source.stg_pinterest_ads__keyword_report"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_9e2909bcbf42ab2426c3540a2e7a0bb7", "schema": "dbt_test__audit", "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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_report_date_day__keyword_id__ad_group_id__campaign_id__advertiser_id"], "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_report_date_day__keyword_id__ad_group_id__campaign_id__advertiser_id.3ac101cc13", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "dbt_utils_unique_combination_o_9e2909bcbf42ab2426c3540a2e7a0bb7.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_report_date_day__keyword_id__ad_group_id__campaign_id__advertiser_id", "alias": "dbt_utils_unique_combination_o_9e2909bcbf42ab2426c3540a2e7a0bb7", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__keyword_report"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/dbt_utils_unique_combination_o_9e2909bcbf42ab2426c3540a2e7a0bb7.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_9e2909bcbf42ab2426c3540a2e7a0bb7"}, "created_at": 1658344851.547474, "compiled_sql": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n date_day, keyword_id, ad_group_id, campaign_id, advertiser_id\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__keyword_report\"\n group by date_day, keyword_id, ad_group_id, campaign_id, advertiser_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_pinterest_ads__keyword_report"}}, "sources": {"source.pinterest_source.pinterest_ads.pin_promotion_report": {"fqn": ["pinterest_source", "pinterest_ads", "pin_promotion_report"], "database": "postgres", "schema": "pinterest_source_integration_tests", "unique_id": "source.pinterest_source.pinterest_ads.pin_promotion_report", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "models/src_pinterest_ads.yml", "original_file_path": "models/src_pinterest_ads.yml", "name": "pin_promotion_report", "source_name": "pinterest_ads", "source_description": "", "loader": "Fivetran", "identifier": "pin_promotion_report_data", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 168, "period": "hour"}, "filter": null}, "external": null, "description": "Each record represents the daily performance of a Pinterest Pin promotion.", "columns": {"date": {"name": "date", "description": "The performance date of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "pin_promotion_id": {"name": "pin_promotion_id", "description": "The ID of the related Pin promotion.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_id": {"name": "ad_group_id", "description": "The ID of the related Ad group.", "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": []}, "advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impression_1": {"name": "impression_1", "description": "The number of paid pin impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impression_2": {"name": "impression_2", "description": "The number of earned pin impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clickthrough_1": {"name": "clickthrough_1", "description": "The number of paid pin clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clickthrough_2": {"name": "clickthrough_2", "description": "The number of earned outbound clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend_in_micro_dollar": {"name": "spend_in_micro_dollar", "description": "The amount of spend in micro dollars that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"pin_promotion_report_data\"", "created_at": 1658344851.573319}, "source.pinterest_source.pinterest_ads.pin_promotion_history": {"fqn": ["pinterest_source", "pinterest_ads", "pin_promotion_history"], "database": "postgres", "schema": "pinterest_source_integration_tests", "unique_id": "source.pinterest_source.pinterest_ads.pin_promotion_history", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "models/src_pinterest_ads.yml", "original_file_path": "models/src_pinterest_ads.yml", "name": "pin_promotion_history", "source_name": "pinterest_ads", "source_description": "", "loader": "Fivetran", "identifier": "pin_promotion_history_data", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 168, "period": "hour"}, "filter": null}, "external": null, "description": "Each record represents a version of a Pinterest Pin promotion.", "columns": {"id": {"name": "id", "description": "The ID of the related Pin promotion.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_id": {"name": "ad_group_id", "description": "The ID of the related Ad group.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "created_time": {"name": "created_time", "description": "Pin creation time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "destination_url": {"name": "destination_url", "description": "Pin destination URL.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Pin promotion name.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "pin_id": {"name": "pin_id", "description": "Original pin ID.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status": {"name": "status", "description": "The status of the Pin promotion. One of \"ACTIVE\", \"ARCHIVED\", \"PAUSED\"", "meta": {}, "data_type": null, "quote": null, "tags": []}, "creative_type": {"name": "creative_type", "description": "The creative type. \nOne of \"APP\", \"APP_VIDEO\", \"BOARD\", \"CAROUSEL\", \"CINEMATIC\", \"COMMERCE\", \"MAX_VIDEO\", \"NATIVE_VIDEO\", \"REGULAR\", \n\"SEARCH_PROMINENCE\", \"SEARCH_PROMINENCE_CAROUSEL\", \"SHOPPING\", \"SHOP_THE_PIN\", \"THIRD_PARTY\", or \"VIDEO\".\n", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"pin_promotion_history_data\"", "created_at": 1658344851.5734122}, "source.pinterest_source.pinterest_ads.campaign_history": {"fqn": ["pinterest_source", "pinterest_ads", "campaign_history"], "database": "postgres", "schema": "pinterest_source_integration_tests", "unique_id": "source.pinterest_source.pinterest_ads.campaign_history", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "models/src_pinterest_ads.yml", "original_file_path": "models/src_pinterest_ads.yml", "name": "campaign_history", "source_name": "pinterest_ads", "source_description": "", "loader": "Fivetran", "identifier": "campaign_history_data", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 168, "period": "hour"}, "filter": null}, "external": null, "description": "Each record represents a version of a Pinterest Campaign.", "columns": {"id": {"name": "id", "description": "The ID of the related Campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "created_time": {"name": "created_time", "description": "Campaign creation time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Campaign name.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status": {"name": "status", "description": "The status of the Campaign. One of \"ACTIVE\", \"ARCHIVED\", \"PAUSED\"", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"campaign_history_data\"", "created_at": 1658344851.573486}, "source.pinterest_source.pinterest_ads.ad_group_history": {"fqn": ["pinterest_source", "pinterest_ads", "ad_group_history"], "database": "postgres", "schema": "pinterest_source_integration_tests", "unique_id": "source.pinterest_source.pinterest_ads.ad_group_history", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "models/src_pinterest_ads.yml", "original_file_path": "models/src_pinterest_ads.yml", "name": "ad_group_history", "source_name": "pinterest_ads", "source_description": "", "loader": "Fivetran", "identifier": "ad_group_history_data", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 168, "period": "hour"}, "filter": null}, "external": null, "description": "Each record represents a version of a Pinterest Ad Group.", "columns": {"id": {"name": "id", "description": "The ID of the related Ad group.", "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": []}, "created_time": {"name": "created_time", "description": "Ad group creation time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Ad group name.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status": {"name": "status", "description": "The status of the Ad group. One of \"ACTIVE\", \"ARCHIVED\", \"PAUSED\"", "meta": {}, "data_type": null, "quote": null, "tags": []}, "start_time": {"name": "start_time", "description": "Ad group start time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "end_time": {"name": "end_time", "description": "Ad group end time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"ad_group_history_data\"", "created_at": 1658344851.573554}, "source.pinterest_source.pinterest_ads.ad_group_report": {"fqn": ["pinterest_source", "pinterest_ads", "ad_group_report"], "database": "postgres", "schema": "pinterest_source_integration_tests", "unique_id": "source.pinterest_source.pinterest_ads.ad_group_report", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "models/src_pinterest_ads.yml", "original_file_path": "models/src_pinterest_ads.yml", "name": "ad_group_report", "source_name": "pinterest_ads", "source_description": "", "loader": "Fivetran", "identifier": "ad_group_report_data", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 168, "period": "hour"}, "filter": null}, "external": null, "description": "Each record represents the daily performance of a Pinterest ad group.", "columns": {"date": {"name": "date", "description": "The performance date of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_id": {"name": "ad_group_id", "description": "The ID of the related Ad group.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_name": {"name": "ad_group_name", "description": "Name of the ad group.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_status": {"name": "ad_group_status", "description": "Status of the ad group.", "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": []}, "advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impression_1": {"name": "impression_1", "description": "The number of paid pin impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impression_2": {"name": "impression_2", "description": "The number of earned pin impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clickthrough_1": {"name": "clickthrough_1", "description": "The number of paid pin clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clickthrough_2": {"name": "clickthrough_2", "description": "The number of earned outbound clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend_in_micro_dollar": {"name": "spend_in_micro_dollar", "description": "The amount of spend in micro dollars that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"ad_group_report_data\"", "created_at": 1658344851.573625}, "source.pinterest_source.pinterest_ads.advertiser_history": {"fqn": ["pinterest_source", "pinterest_ads", "advertiser_history"], "database": "postgres", "schema": "pinterest_source_integration_tests", "unique_id": "source.pinterest_source.pinterest_ads.advertiser_history", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "models/src_pinterest_ads.yml", "original_file_path": "models/src_pinterest_ads.yml", "name": "advertiser_history", "source_name": "pinterest_ads", "source_description": "", "loader": "Fivetran", "identifier": "advertiser_history_data", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 168, "period": "hour"}, "filter": null}, "external": null, "description": "Each record represents a version of a Pinterest advertiser.", "columns": {"id": {"name": "id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Name of the advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status": {"name": "status", "description": "Status of the advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "billing_profile_status": {"name": "billing_profile_status", "description": "Status of the billing profile.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "billing_type": {"name": "billing_type", "description": "The billing type of the advertiser. Will typically be CREDIT_CARD or INVOICE.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "country": {"name": "country", "description": "The country code where the advertiser is located.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "created_time": {"name": "created_time", "description": "Timestamp of when a record was created.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "currency": {"name": "currency", "description": "The currency code which the a", "meta": {}, "data_type": null, "quote": null, "tags": []}, "merchant_id": {"name": "merchant_id", "description": "Unique ID of the merchant associated with the advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "owner_user_id": {"name": "owner_user_id", "description": "Unique identifier of the owner user.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "updated_time": {"name": "updated_time", "description": "Timestamp of when a record was last updated.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"advertiser_history_data\"", "created_at": 1658344851.573695}, "source.pinterest_source.pinterest_ads.advertiser_report": {"fqn": ["pinterest_source", "pinterest_ads", "advertiser_report"], "database": "postgres", "schema": "pinterest_source_integration_tests", "unique_id": "source.pinterest_source.pinterest_ads.advertiser_report", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "models/src_pinterest_ads.yml", "original_file_path": "models/src_pinterest_ads.yml", "name": "advertiser_report", "source_name": "pinterest_ads", "source_description": "", "loader": "Fivetran", "identifier": "advertiser_report_data", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 168, "period": "hour"}, "filter": null}, "external": null, "description": "Each record represents the daily performance of a Pinterest advertiser.", "columns": {"date": {"name": "date", "description": "The performance date of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impression_1": {"name": "impression_1", "description": "The number of paid pin impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impression_2": {"name": "impression_2", "description": "The number of earned pin impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clickthrough_1": {"name": "clickthrough_1", "description": "The number of paid pin clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clickthrough_2": {"name": "clickthrough_2", "description": "The number of earned outbound clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend_in_micro_dollar": {"name": "spend_in_micro_dollar", "description": "The amount of spend in micro dollars that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"advertiser_report_data\"", "created_at": 1658344851.57376}, "source.pinterest_source.pinterest_ads.campaign_report": {"fqn": ["pinterest_source", "pinterest_ads", "campaign_report"], "database": "postgres", "schema": "pinterest_source_integration_tests", "unique_id": "source.pinterest_source.pinterest_ads.campaign_report", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "models/src_pinterest_ads.yml", "original_file_path": "models/src_pinterest_ads.yml", "name": "campaign_report", "source_name": "pinterest_ads", "source_description": "", "loader": "Fivetran", "identifier": "campaign_report_data", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 168, "period": "hour"}, "filter": null}, "external": null, "description": "Each record represents the daily performance of a Pinterest campaign.", "columns": {"date": {"name": "date", "description": "The performance date of the record.", "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": "Name of the campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_status": {"name": "campaign_status", "description": "Status of the campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impression_1": {"name": "impression_1", "description": "The number of paid pin impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impression_2": {"name": "impression_2", "description": "The number of earned pin impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clickthrough_1": {"name": "clickthrough_1", "description": "The number of paid pin clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clickthrough_2": {"name": "clickthrough_2", "description": "The number of earned outbound clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend_in_micro_dollar": {"name": "spend_in_micro_dollar", "description": "The amount of spend in micro dollars that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"campaign_report_data\"", "created_at": 1658344851.573859}, "source.pinterest_source.pinterest_ads.keyword_history": {"fqn": ["pinterest_source", "pinterest_ads", "keyword_history"], "database": "postgres", "schema": "pinterest_source_integration_tests", "unique_id": "source.pinterest_source.pinterest_ads.keyword_history", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "models/src_pinterest_ads.yml", "original_file_path": "models/src_pinterest_ads.yml", "name": "keyword_history", "source_name": "pinterest_ads", "source_description": "", "loader": "Fivetran", "identifier": "keyword_history_data", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 168, "period": "hour"}, "filter": null}, "external": null, "description": "Each record represents a version of a Pinterest keyword.", "columns": {"id": {"name": "id", "description": "Unique identifier of the keyword.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "value": {"name": "value", "description": "The text value that makes upd the keyword.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_id": {"name": "_fivetran_id", "description": "The unique identifier of the record within the Fivetran synced table.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_id": {"name": "ad_group_id", "description": "The ID of the related Ad group.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "archived": {"name": "archived", "description": "Boolean indicating if the keyword is archived.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "bid": {"name": "bid", "description": "Bid amount set for the keyword.", "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": []}, "match_type": {"name": "match_type", "description": "Type of match the keyword is tied to. Either Exact or Broad.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "parent_type": {"name": "parent_type", "description": "Identifier of what grain the parent type is. Ad group or campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"keyword_history_data\"", "created_at": 1658344851.573926}, "source.pinterest_source.pinterest_ads.keyword_report": {"fqn": ["pinterest_source", "pinterest_ads", "keyword_report"], "database": "postgres", "schema": "pinterest_source_integration_tests", "unique_id": "source.pinterest_source.pinterest_ads.keyword_report", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "models/src_pinterest_ads.yml", "original_file_path": "models/src_pinterest_ads.yml", "name": "keyword_report", "source_name": "pinterest_ads", "source_description": "", "loader": "Fivetran", "identifier": "keyword_report_data", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 168, "period": "hour"}, "filter": null}, "external": null, "description": "Each record represents the daily performance of a Pinterest key word.", "columns": {"date": {"name": "date", "description": "The performance date of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "keyword_id": {"name": "keyword_id", "description": "Unique identifier of the keyword.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "pin_promotion_id": {"name": "pin_promotion_id", "description": "The ID of the related Pin promotion.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_id": {"name": "ad_group_id", "description": "The ID of the related Ad group.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_name": {"name": "ad_group_name", "description": "Name of the ad group.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_status": {"name": "ad_group_status", "description": "Status of the ad group.", "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": []}, "advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impression_1": {"name": "impression_1", "description": "The number of paid pin impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impression_2": {"name": "impression_2", "description": "The number of earned pin impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clickthrough_1": {"name": "clickthrough_1", "description": "The number of paid pin clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clickthrough_2": {"name": "clickthrough_2", "description": "The number of earned outbound clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend_in_micro_dollar": {"name": "spend_in_micro_dollar", "description": "The amount of spend in micro dollars that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"keyword_report_data\"", "created_at": 1658344851.573993}}, "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": 1658344850.7685308}, "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": 1658344850.769227}, "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": 1658344850.7744992}, "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": 1658344850.774994}, "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": 1658344850.775313}, "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": 1658344850.775635}, "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": 1658344850.7761102}, "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": 1658344850.776479}, "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": 1658344850.776649}, "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": 1658344850.7769952}, "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": 1658344850.7773921}, "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": 1658344850.777469}, "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": 1658344850.777645}, "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": 1658344850.777747}, "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": 1658344850.778667}, "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": 1658344850.779105}, "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": 1658344850.7793322}, "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": 1658344850.780001}, "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": 1658344850.7808268}, "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": 1658344850.781985}, "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": 1658344850.782188}, "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": 1658344850.782332}, "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": 1658344850.782474}, "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": 1658344850.782611}, "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": 1658344850.783042}, "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": 1658344850.783346}, "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": 1658344850.7836459}, "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": 1658344850.78414}, "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": 1658344850.784404}, "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": 1658344850.7876549}, "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": 1658344850.787822}, "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": 1658344850.788042}, "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": 1658344850.7881868}, "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": 1658344850.78828}, "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": 1658344850.789053}, "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": 1658344850.789213}, "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": 1658344850.789377}, "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": 1658344850.7903318}, "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": 1658344850.79216}, "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": 1658344850.795278}, "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": 1658344850.795553}, "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": 1658344850.7957199}, "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": 1658344850.795809}, "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": 1658344850.796009}, "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": 1658344850.796863}, "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": 1658344850.797048}, "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": 1658344850.797291}, "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": 1658344850.797708}, "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": 1658344850.80344}, "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": 1658344850.805506}, "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": 1658344850.806016}, "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": 1658344850.806318}, "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": 1658344850.806742}, "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": 1658344850.807114}, "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": 1658344850.807955}, "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": 1658344850.808484}, "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": 1658344850.809087}, "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": 1658344850.811767}, "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": 1658344850.812897}, "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": 1658344850.8131251}, "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": 1658344850.813535}, "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": 1658344850.813792}, "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": 1658344850.814401}, "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": 1658344850.815083}, "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": 1658344850.81987}, "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": 1658344850.8244648}, "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": 1658344850.825664}, "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": 1658344850.8268569}, "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": 1658344850.8276072}, "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": 1658344850.831393}, "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": 1658344850.8319}, "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": 1658344850.832093}, "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": 1658344850.8323}, "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": 1658344850.832716}, "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": 1658344850.8362281}, "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": 1658344850.8366048}, "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": 1658344850.836819}, "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": 1658344850.838026}, "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": 1658344850.838448}, "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": 1658344850.838604}, "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": 1658344850.838785}, "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": 1658344850.839036}, "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": 1658344850.841829}, "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": 1658344850.84572}, "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": 1658344850.846608}, "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": 1658344850.846833}, "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": 1658344850.8473039}, "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": 1658344850.8474429}, "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": 1658344850.847552}, "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": 1658344850.847708}, "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": 1658344850.847817}, "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": 1658344850.848288}, "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": 1658344850.848532}, "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": 1658344850.849717}, "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": 1658344850.850178}, "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": 1658344850.850399}, "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": 1658344850.850962}, "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": 1658344850.8512142}, "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": 1658344850.851487}, "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": 1658344850.851935}, "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": 1658344850.852181}, "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": 1658344850.85259}, "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": 1658344850.852831}, "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": 1658344850.853133}, "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": 1658344850.853744}, "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": 1658344850.854881}, "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": 1658344850.855445}, "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": 1658344850.855734}, "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": 1658344850.8575108}, "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": 1658344850.858779}, "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": 1658344850.859526}, "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": 1658344850.859762}, "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": 1658344850.8602319}, "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": 1658344850.860411}, "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": 1658344850.860569}, "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": 1658344850.860745}, "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": 1658344850.861265}, "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": 1658344850.861398}, "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": 1658344850.86155}, "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": 1658344850.861938}, "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": 1658344850.863511}, "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": 1658344850.863809}, "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": 1658344850.863992}, "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": 1658344850.864202}, "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": 1658344850.864384}, "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": 1658344850.864542}, "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": 1658344850.864745}, "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": 1658344850.865016}, "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": 1658344850.865254}, "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": 1658344850.865953}, "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": 1658344850.866179}, "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": 1658344850.866366}, "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": 1658344850.8668811}, "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": 1658344850.867024}, "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": 1658344850.867247}, "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": 1658344850.8676538}, "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": 1658344850.86834}, "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": 1658344850.868505}, "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": 1658344850.8686998}, "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": 1658344850.868862}, "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": 1658344850.869122}, "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": 1658344850.8695931}, "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": 1658344850.870989}, "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": 1658344850.871237}, "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": 1658344850.871419}, "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": 1658344850.871567}, "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": 1658344850.871747}, "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": 1658344850.871988}, "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": 1658344850.872184}, "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": 1658344850.872548}, "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": 1658344850.872728}, "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": 1658344850.872885}, "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": 1658344850.8746161}, "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": 1658344850.874769}, "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": 1658344850.875079}, "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": 1658344850.875257}, "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": 1658344850.875595}, "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": 1658344850.8758242}, "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": 1658344850.876408}, "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": 1658344850.876656}, "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": 1658344850.877405}, "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": 1658344850.8779771}, "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": 1658344850.878201}, "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": 1658344850.8784819}, "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": 1658344850.878756}, "macro.dbt_utils.except": {"unique_id": "macro.dbt_utils.except", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.8790731}, "macro.dbt_utils.default__except": {"unique_id": "macro.dbt_utils.default__except", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.879147}, "macro.dbt_utils.bigquery__except": {"unique_id": "macro.dbt_utils.bigquery__except", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.879214}, "macro.dbt_utils.replace": {"unique_id": "macro.dbt_utils.replace", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.8796}, "macro.dbt_utils.default__replace": {"unique_id": "macro.dbt_utils.default__replace", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.879762}, "macro.dbt_utils.concat": {"unique_id": "macro.dbt_utils.concat", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.880078}, "macro.dbt_utils.default__concat": {"unique_id": "macro.dbt_utils.default__concat", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.8802712}, "macro.dbt_utils.type_string": {"unique_id": "macro.dbt_utils.type_string", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.8809679}, "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/pinterest/dbt_pinterest_source/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": 1658344850.881044}, "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/pinterest/dbt_pinterest_source/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": 1658344850.881113}, "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/pinterest/dbt_pinterest_source/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": 1658344850.881182}, "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/pinterest/dbt_pinterest_source/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": 1658344850.881247}, "macro.dbt_utils.type_timestamp": {"unique_id": "macro.dbt_utils.type_timestamp", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.881406}, "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/pinterest/dbt_pinterest_source/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": 1658344850.88148}, "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/pinterest/dbt_pinterest_source/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": 1658344850.881548}, "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/pinterest/dbt_pinterest_source/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": 1658344850.8816168}, "macro.dbt_utils.type_float": {"unique_id": "macro.dbt_utils.type_float", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.881776}, "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/pinterest/dbt_pinterest_source/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": 1658344850.881845}, "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/pinterest/dbt_pinterest_source/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": 1658344850.881909}, "macro.dbt_utils.type_numeric": {"unique_id": "macro.dbt_utils.type_numeric", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.8820639}, "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/pinterest/dbt_pinterest_source/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": 1658344850.882133}, "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/pinterest/dbt_pinterest_source/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": 1658344850.882199}, "macro.dbt_utils.type_bigint": {"unique_id": "macro.dbt_utils.type_bigint", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.88235}, "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/pinterest/dbt_pinterest_source/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": 1658344850.88242}, "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/pinterest/dbt_pinterest_source/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": 1658344850.882486}, "macro.dbt_utils.type_int": {"unique_id": "macro.dbt_utils.type_int", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.882698}, "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/pinterest/dbt_pinterest_source/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": 1658344850.882766}, "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/pinterest/dbt_pinterest_source/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": 1658344850.882834}, "macro.dbt_utils._is_relation": {"unique_id": "macro.dbt_utils._is_relation", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.883339}, "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/pinterest/dbt_pinterest_source/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": 1658344850.8837912}, "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/pinterest/dbt_pinterest_source/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": 1658344850.883928}, "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/pinterest/dbt_pinterest_source/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": 1658344850.8842309}, "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/pinterest/dbt_pinterest_source/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": 1658344850.884371}, "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/pinterest/dbt_pinterest_source/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": 1658344850.88447}, "macro.dbt_utils.length": {"unique_id": "macro.dbt_utils.length", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.884821}, "macro.dbt_utils.default__length": {"unique_id": "macro.dbt_utils.default__length", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.884922}, "macro.dbt_utils.redshift__length": {"unique_id": "macro.dbt_utils.redshift__length", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.8850188}, "macro.dbt_utils.dateadd": {"unique_id": "macro.dbt_utils.dateadd", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.885621}, "macro.dbt_utils.default__dateadd": {"unique_id": "macro.dbt_utils.default__dateadd", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.8857799}, "macro.dbt_utils.bigquery__dateadd": {"unique_id": "macro.dbt_utils.bigquery__dateadd", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.88594}, "macro.dbt_utils.postgres__dateadd": {"unique_id": "macro.dbt_utils.postgres__dateadd", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.886091}, "macro.dbt_utils.redshift__dateadd": {"unique_id": "macro.dbt_utils.redshift__dateadd", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.8862798}, "macro.dbt_utils.intersect": {"unique_id": "macro.dbt_utils.intersect", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.8865972}, "macro.dbt_utils.default__intersect": {"unique_id": "macro.dbt_utils.default__intersect", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.88667}, "macro.dbt_utils.bigquery__intersect": {"unique_id": "macro.dbt_utils.bigquery__intersect", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.8867378}, "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/pinterest/dbt_pinterest_source/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": 1658344850.88713}, "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/pinterest/dbt_pinterest_source/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": 1658344850.887267}, "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/pinterest/dbt_pinterest_source/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": 1658344850.887464}, "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/pinterest/dbt_pinterest_source/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": 1658344850.887603}, "macro.dbt_utils.right": {"unique_id": "macro.dbt_utils.right", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.88819}, "macro.dbt_utils.default__right": {"unique_id": "macro.dbt_utils.default__right", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.8883252}, "macro.dbt_utils.bigquery__right": {"unique_id": "macro.dbt_utils.bigquery__right", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.888478}, "macro.dbt_utils.snowflake__right": {"unique_id": "macro.dbt_utils.snowflake__right", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.888628}, "macro.dbt_utils.listagg": {"unique_id": "macro.dbt_utils.listagg", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.890829}, "macro.dbt_utils.default__listagg": {"unique_id": "macro.dbt_utils.default__listagg", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.891226}, "macro.dbt_utils.bigquery__listagg": {"unique_id": "macro.dbt_utils.bigquery__listagg", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.891501}, "macro.dbt_utils.postgres__listagg": {"unique_id": "macro.dbt_utils.postgres__listagg", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.891875}, "macro.dbt_utils.redshift__listagg": {"unique_id": "macro.dbt_utils.redshift__listagg", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.8928168}, "macro.dbt_utils.datediff": {"unique_id": "macro.dbt_utils.datediff", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.8952682}, "macro.dbt_utils.default__datediff": {"unique_id": "macro.dbt_utils.default__datediff", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.8954308}, "macro.dbt_utils.bigquery__datediff": {"unique_id": "macro.dbt_utils.bigquery__datediff", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.895586}, "macro.dbt_utils.postgres__datediff": {"unique_id": "macro.dbt_utils.postgres__datediff", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.8973281}, "macro.dbt_utils.redshift__datediff": {"unique_id": "macro.dbt_utils.redshift__datediff", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.897536}, "macro.dbt_utils.safe_cast": {"unique_id": "macro.dbt_utils.safe_cast", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.897959}, "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/pinterest/dbt_pinterest_source/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": 1658344850.8980942}, "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/pinterest/dbt_pinterest_source/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": 1658344850.8982148}, "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/pinterest/dbt_pinterest_source/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": 1658344850.898336}, "macro.dbt_utils.hash": {"unique_id": "macro.dbt_utils.hash", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.898688}, "macro.dbt_utils.default__hash": {"unique_id": "macro.dbt_utils.default__hash", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.898824}, "macro.dbt_utils.bigquery__hash": {"unique_id": "macro.dbt_utils.bigquery__hash", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.898947}, "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/pinterest/dbt_pinterest_source/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": 1658344850.8993049}, "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/pinterest/dbt_pinterest_source/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": 1658344850.89944}, "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/pinterest/dbt_pinterest_source/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": 1658344850.8995578}, "macro.dbt_utils.identifier": {"unique_id": "macro.dbt_utils.identifier", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.900079}, "macro.dbt_utils.default__identifier": {"unique_id": "macro.dbt_utils.default__identifier", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.900182}, "macro.dbt_utils.bigquery__identifier": {"unique_id": "macro.dbt_utils.bigquery__identifier", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.90028}, "macro.dbt_utils.any_value": {"unique_id": "macro.dbt_utils.any_value", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.900621}, "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/pinterest/dbt_pinterest_source/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": 1658344850.900727}, "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/pinterest/dbt_pinterest_source/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": 1658344850.900832}, "macro.dbt_utils.position": {"unique_id": "macro.dbt_utils.position", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.901246}, "macro.dbt_utils.default__position": {"unique_id": "macro.dbt_utils.default__position", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.90138}, "macro.dbt_utils.bigquery__position": {"unique_id": "macro.dbt_utils.bigquery__position", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.9015071}, "macro.dbt_utils.string_literal": {"unique_id": "macro.dbt_utils.string_literal", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.90188}, "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/pinterest/dbt_pinterest_source/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": 1658344850.901982}, "macro.dbt_utils.current_timestamp": {"unique_id": "macro.dbt_utils.current_timestamp", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.90256}, "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/pinterest/dbt_pinterest_source/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": 1658344850.902668}, "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/pinterest/dbt_pinterest_source/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": 1658344850.902736}, "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/pinterest/dbt_pinterest_source/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": 1658344850.902808}, "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/pinterest/dbt_pinterest_source/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": 1658344850.9029608}, "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/pinterest/dbt_pinterest_source/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": 1658344850.9030678}, "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/pinterest/dbt_pinterest_source/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": 1658344850.9032068}, "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/pinterest/dbt_pinterest_source/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": 1658344850.9033139}, "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/pinterest/dbt_pinterest_source/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": 1658344850.9034398}, "macro.dbt_utils.width_bucket": {"unique_id": "macro.dbt_utils.width_bucket", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.904843}, "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/pinterest/dbt_pinterest_source/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": 1658344850.9053068}, "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/pinterest/dbt_pinterest_source/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": 1658344850.905754}, "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/pinterest/dbt_pinterest_source/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": 1658344850.905941}, "macro.dbt_utils.array_concat": {"unique_id": "macro.dbt_utils.array_concat", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.906369}, "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/pinterest/dbt_pinterest_source/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": 1658344850.906496}, "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/pinterest/dbt_pinterest_source/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": 1658344850.9066198}, "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/pinterest/dbt_pinterest_source/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": 1658344850.906742}, "macro.dbt_utils.bool_or": {"unique_id": "macro.dbt_utils.bool_or", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.907125}, "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/pinterest/dbt_pinterest_source/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": 1658344850.907233}, "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/pinterest/dbt_pinterest_source/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": 1658344850.907394}, "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/pinterest/dbt_pinterest_source/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": 1658344850.907488}, "macro.dbt_utils.last_day": {"unique_id": "macro.dbt_utils.last_day", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.908072}, "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/pinterest/dbt_pinterest_source/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": 1658344850.9083378}, "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/pinterest/dbt_pinterest_source/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": 1658344850.908483}, "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/pinterest/dbt_pinterest_source/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": 1658344850.908897}, "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/pinterest/dbt_pinterest_source/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": 1658344850.9090738}, "macro.dbt_utils.split_part": {"unique_id": "macro.dbt_utils.split_part", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.910516}, "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/pinterest/dbt_pinterest_source/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": 1658344850.910678}, "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/pinterest/dbt_pinterest_source/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": 1658344850.910903}, "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/pinterest/dbt_pinterest_source/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": 1658344850.9112298}, "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/pinterest/dbt_pinterest_source/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": 1658344850.911552}, "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/pinterest/dbt_pinterest_source/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": 1658344850.911895}, "macro.dbt_utils.date_trunc": {"unique_id": "macro.dbt_utils.date_trunc", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.9122949}, "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/pinterest/dbt_pinterest_source/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": 1658344850.91242}, "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/pinterest/dbt_pinterest_source/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": 1658344850.912545}, "macro.dbt_utils.array_construct": {"unique_id": "macro.dbt_utils.array_construct", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.913097}, "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/pinterest/dbt_pinterest_source/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": 1658344850.913339}, "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/pinterest/dbt_pinterest_source/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": 1658344850.913481}, "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/pinterest/dbt_pinterest_source/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": 1658344850.9136121}, "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/pinterest/dbt_pinterest_source/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": 1658344850.913743}, "macro.dbt_utils._is_ephemeral": {"unique_id": "macro.dbt_utils._is_ephemeral", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.914677}, "macro.dbt_utils.array_append": {"unique_id": "macro.dbt_utils.array_append", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.915106}, "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/pinterest/dbt_pinterest_source/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": 1658344850.91524}, "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/pinterest/dbt_pinterest_source/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": 1658344850.915423}, "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/pinterest/dbt_pinterest_source/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": 1658344850.915602}, "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/pinterest/dbt_pinterest_source/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": 1658344850.921103}, "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/pinterest/dbt_pinterest_source/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": 1658344850.921605}, "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/pinterest/dbt_pinterest_source/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": 1658344850.9219148}, "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/pinterest/dbt_pinterest_source/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": 1658344850.9224}, "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/pinterest/dbt_pinterest_source/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": 1658344850.9274628}, "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/pinterest/dbt_pinterest_source/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": 1658344850.9279191}, "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/pinterest/dbt_pinterest_source/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": 1658344850.928389}, "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/pinterest/dbt_pinterest_source/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": 1658344850.928919}, "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/pinterest/dbt_pinterest_source/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": 1658344850.929557}, "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/pinterest/dbt_pinterest_source/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": 1658344850.929943}, "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/pinterest/dbt_pinterest_source/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": 1658344850.930269}, "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/pinterest/dbt_pinterest_source/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": 1658344850.930851}, "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/pinterest/dbt_pinterest_source/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": 1658344850.931075}, "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/pinterest/dbt_pinterest_source/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": 1658344850.931527}, "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/pinterest/dbt_pinterest_source/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": 1658344850.9318159}, "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/pinterest/dbt_pinterest_source/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": 1658344850.9325151}, "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/pinterest/dbt_pinterest_source/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": 1658344850.9328482}, "macro.dbt_utils.test_recency": {"unique_id": "macro.dbt_utils.test_recency", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.933297}, "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/pinterest/dbt_pinterest_source/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": 1658344850.93362}, "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/pinterest/dbt_pinterest_source/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": 1658344850.933998}, "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/pinterest/dbt_pinterest_source/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": 1658344850.934169}, "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/pinterest/dbt_pinterest_source/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": 1658344850.934809}, "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/pinterest/dbt_pinterest_source/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": 1658344850.935328}, "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/pinterest/dbt_pinterest_source/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": 1658344850.935916}, "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/pinterest/dbt_pinterest_source/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": 1658344850.93629}, "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/pinterest/dbt_pinterest_source/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": 1658344850.936762}, "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/pinterest/dbt_pinterest_source/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": 1658344850.93693}, "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/pinterest/dbt_pinterest_source/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": 1658344850.9373188}, "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/pinterest/dbt_pinterest_source/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": 1658344850.937491}, "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/pinterest/dbt_pinterest_source/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": 1658344850.938129}, "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/pinterest/dbt_pinterest_source/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": 1658344850.938763}, "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/pinterest/dbt_pinterest_source/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": 1658344850.9393668}, "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/pinterest/dbt_pinterest_source/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": 1658344850.939701}, "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/pinterest/dbt_pinterest_source/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": 1658344850.940223}, "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/pinterest/dbt_pinterest_source/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": 1658344850.9405088}, "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/pinterest/dbt_pinterest_source/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": 1658344850.9409878}, "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/pinterest/dbt_pinterest_source/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": 1658344850.94149}, "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/pinterest/dbt_pinterest_source/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": 1658344850.9421701}, "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/pinterest/dbt_pinterest_source/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": 1658344850.942945}, "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/pinterest/dbt_pinterest_source/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": 1658344850.943413}, "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/pinterest/dbt_pinterest_source/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": 1658344850.943578}, "macro.dbt_utils.test_equality": {"unique_id": "macro.dbt_utils.test_equality", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.9443352}, "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/pinterest/dbt_pinterest_source/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": 1658344850.94522}, "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/pinterest/dbt_pinterest_source/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": 1658344850.9481852}, "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/pinterest/dbt_pinterest_source/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": 1658344850.94962}, "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/pinterest/dbt_pinterest_source/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": 1658344850.9499562}, "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/pinterest/dbt_pinterest_source/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": 1658344850.950119}, "macro.dbt_utils.pretty_time": {"unique_id": "macro.dbt_utils.pretty_time", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.950453}, "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/pinterest/dbt_pinterest_source/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": 1658344850.950655}, "macro.dbt_utils.log_info": {"unique_id": "macro.dbt_utils.log_info", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.950967}, "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/pinterest/dbt_pinterest_source/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": 1658344850.951137}, "macro.dbt_utils.slugify": {"unique_id": "macro.dbt_utils.slugify", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.9516559}, "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/pinterest/dbt_pinterest_source/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": 1658344850.952391}, "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/pinterest/dbt_pinterest_source/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": 1658344850.952981}, "macro.dbt_utils.date_spine": {"unique_id": "macro.dbt_utils.date_spine", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.953214}, "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/pinterest/dbt_pinterest_source/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": 1658344850.9535701}, "macro.dbt_utils.nullcheck_table": {"unique_id": "macro.dbt_utils.nullcheck_table", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.9539452}, "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/pinterest/dbt_pinterest_source/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": 1658344850.972409}, "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/pinterest/dbt_pinterest_source/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": 1658344850.973282}, "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/pinterest/dbt_pinterest_source/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": 1658344850.974148}, "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/pinterest/dbt_pinterest_source/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": 1658344850.97502}, "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/pinterest/dbt_pinterest_source/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": 1658344850.975438}, "macro.dbt_utils.generate_series": {"unique_id": "macro.dbt_utils.generate_series", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.975625}, "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/pinterest/dbt_pinterest_source/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": 1658344850.976125}, "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/pinterest/dbt_pinterest_source/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": 1658344850.976856}, "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/pinterest/dbt_pinterest_source/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": 1658344850.9776928}, "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/pinterest/dbt_pinterest_source/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": 1658344850.978163}, "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/pinterest/dbt_pinterest_source/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": 1658344850.9784782}, "macro.dbt_utils.star": {"unique_id": "macro.dbt_utils.star", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.97924}, "macro.dbt_utils.default__star": {"unique_id": "macro.dbt_utils.default__star", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.980292}, "macro.dbt_utils.unpivot": {"unique_id": "macro.dbt_utils.unpivot", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.9820118}, "macro.dbt_utils.default__unpivot": {"unique_id": "macro.dbt_utils.default__unpivot", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.984016}, "macro.dbt_utils.union_relations": {"unique_id": "macro.dbt_utils.union_relations", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.9865081}, "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/pinterest/dbt_pinterest_source/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": 1658344850.9894888}, "macro.dbt_utils.group_by": {"unique_id": "macro.dbt_utils.group_by", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.989865}, "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/pinterest/dbt_pinterest_source/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": 1658344850.990117}, "macro.dbt_utils.deduplicate": {"unique_id": "macro.dbt_utils.deduplicate", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.992495}, "macro.dbt_utils.default__deduplicate": {"unique_id": "macro.dbt_utils.default__deduplicate", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.9927108}, "macro.dbt_utils.redshift__deduplicate": {"unique_id": "macro.dbt_utils.redshift__deduplicate", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.992907}, "macro.dbt_utils.postgres__deduplicate": {"unique_id": "macro.dbt_utils.postgres__deduplicate", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.9930959}, "macro.dbt_utils.snowflake__deduplicate": {"unique_id": "macro.dbt_utils.snowflake__deduplicate", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.993255}, "macro.dbt_utils.bigquery__deduplicate": {"unique_id": "macro.dbt_utils.bigquery__deduplicate", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.993424}, "macro.dbt_utils.surrogate_key": {"unique_id": "macro.dbt_utils.surrogate_key", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.994057}, "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/pinterest/dbt_pinterest_source/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": 1658344850.9949791}, "macro.dbt_utils.safe_add": {"unique_id": "macro.dbt_utils.safe_add", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.995418}, "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/pinterest/dbt_pinterest_source/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": 1658344850.995702}, "macro.dbt_utils.nullcheck": {"unique_id": "macro.dbt_utils.nullcheck", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.9961028}, "macro.dbt_utils.default__nullcheck": {"unique_id": "macro.dbt_utils.default__nullcheck", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344850.996424}, "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/pinterest/dbt_pinterest_source/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": 1658344850.997896}, "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/pinterest/dbt_pinterest_source/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": 1658344850.998163}, "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/pinterest/dbt_pinterest_source/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": 1658344850.9989362}, "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/pinterest/dbt_pinterest_source/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": 1658344850.999448}, "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/pinterest/dbt_pinterest_source/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": 1658344851.000566}, "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/pinterest/dbt_pinterest_source/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": 1658344851.0020769}, "macro.dbt_utils.pivot": {"unique_id": "macro.dbt_utils.pivot", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344851.003158}, "macro.dbt_utils.default__pivot": {"unique_id": "macro.dbt_utils.default__pivot", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344851.0040011}, "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/pinterest/dbt_pinterest_source/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": 1658344851.00453}, "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/pinterest/dbt_pinterest_source/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": 1658344851.0052469}, "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/pinterest/dbt_pinterest_source/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": 1658344851.005697}, "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/pinterest/dbt_pinterest_source/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": 1658344851.006301}, "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/pinterest/dbt_pinterest_source/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": 1658344851.006804}, "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/pinterest/dbt_pinterest_source/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": 1658344851.006888}, "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/pinterest/dbt_pinterest_source/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": 1658344851.006969}, "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/pinterest/dbt_pinterest_source/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": 1658344851.007047}, "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/pinterest/dbt_pinterest_source/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": 1658344851.0080798}, "macro.dbt_utils.haversine_distance": {"unique_id": "macro.dbt_utils.haversine_distance", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344851.008358}, "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/pinterest/dbt_pinterest_source/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": 1658344851.008933}, "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/pinterest/dbt_pinterest_source/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": 1658344851.0097961}, "macro.spark_utils.get_tables": {"unique_id": "macro.spark_utils.get_tables", "package_name": "spark_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344851.0145762}, "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/pinterest/dbt_pinterest_source/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": 1658344851.01527}, "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/pinterest/dbt_pinterest_source/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": 1658344851.016157}, "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/pinterest/dbt_pinterest_source/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": 1658344851.01694}, "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/pinterest/dbt_pinterest_source/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": 1658344851.017712}, "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/pinterest/dbt_pinterest_source/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": 1658344851.018643}, "macro.spark_utils.spark__concat": {"unique_id": "macro.spark_utils.spark__concat", "package_name": "spark_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344851.018898}, "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/pinterest/dbt_pinterest_source/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": 1658344851.019073}, "macro.spark_utils.spark__dateadd": {"unique_id": "macro.spark_utils.spark__dateadd", "package_name": "spark_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344851.021836}, "macro.spark_utils.spark__datediff": {"unique_id": "macro.spark_utils.spark__datediff", "package_name": "spark_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344851.0288389}, "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/pinterest/dbt_pinterest_source/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": 1658344851.02905}, "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/pinterest/dbt_pinterest_source/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": 1658344851.029121}, "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/pinterest/dbt_pinterest_source/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": 1658344851.029734}, "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/pinterest/dbt_pinterest_source/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": 1658344851.0312939}, "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/pinterest/dbt_pinterest_source/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": 1658344851.031631}, "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/pinterest/dbt_pinterest_source/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": 1658344851.0319018}, "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/pinterest/dbt_pinterest_source/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": 1658344851.032171}, "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/pinterest/dbt_pinterest_source/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": 1658344851.032556}, "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/pinterest/dbt_pinterest_source/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": 1658344851.032749}, "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/pinterest/dbt_pinterest_source/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": 1658344851.033014}, "macro.fivetran_utils.enabled_vars": {"unique_id": "macro.fivetran_utils.enabled_vars", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344851.033483}, "macro.fivetran_utils.percentile": {"unique_id": "macro.fivetran_utils.percentile", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344851.0344052}, "macro.fivetran_utils.default__percentile": {"unique_id": "macro.fivetran_utils.default__percentile", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344851.034566}, "macro.fivetran_utils.redshift__percentile": {"unique_id": "macro.fivetran_utils.redshift__percentile", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344851.0347269}, "macro.fivetran_utils.bigquery__percentile": {"unique_id": "macro.fivetran_utils.bigquery__percentile", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344851.034886}, "macro.fivetran_utils.postgres__percentile": {"unique_id": "macro.fivetran_utils.postgres__percentile", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344851.035029}, "macro.fivetran_utils.spark__percentile": {"unique_id": "macro.fivetran_utils.spark__percentile", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344851.0351858}, "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/pinterest/dbt_pinterest_source/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": 1658344851.035681}, "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/pinterest/dbt_pinterest_source/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) %}\n\n{% if var(pass_through_variable, none) %}\n {% for field in var(pass_through_variable) %}\n , {{ 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": 1658344851.036184}, "macro.fivetran_utils.json_parse": {"unique_id": "macro.fivetran_utils.json_parse", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344851.037257}, "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/pinterest/dbt_pinterest_source/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": 1658344851.037503}, "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/pinterest/dbt_pinterest_source/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": 1658344851.037744}, "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/pinterest/dbt_pinterest_source/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": 1658344851.0379798}, "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/pinterest/dbt_pinterest_source/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": 1658344851.038213}, "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/pinterest/dbt_pinterest_source/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": 1658344851.038475}, "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/pinterest/dbt_pinterest_source/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": 1658344851.038732}, "macro.fivetran_utils.max_bool": {"unique_id": "macro.fivetran_utils.max_bool", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344851.03911}, "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/pinterest/dbt_pinterest_source/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": 1658344851.039209}, "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/pinterest/dbt_pinterest_source/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": 1658344851.039309}, "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/pinterest/dbt_pinterest_source/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": 1658344851.039406}, "macro.fivetran_utils.calculated_fields": {"unique_id": "macro.fivetran_utils.calculated_fields", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344851.039835}, "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/pinterest/dbt_pinterest_source/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": 1658344851.040462}, "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/pinterest/dbt_pinterest_source/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": 1658344851.041116}, "macro.fivetran_utils.string_agg": {"unique_id": "macro.fivetran_utils.string_agg", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344851.041631}, "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/pinterest/dbt_pinterest_source/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": 1658344851.041759}, "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/pinterest/dbt_pinterest_source/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": 1658344851.041885}, "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/pinterest/dbt_pinterest_source/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": 1658344851.04201}, "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/pinterest/dbt_pinterest_source/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": 1658344851.042145}, "macro.fivetran_utils.timestamp_diff": {"unique_id": "macro.fivetran_utils.timestamp_diff", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344851.0449028}, "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/pinterest/dbt_pinterest_source/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": 1658344851.045063}, "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/pinterest/dbt_pinterest_source/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": 1658344851.045227}, "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/pinterest/dbt_pinterest_source/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": 1658344851.045377}, "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/pinterest/dbt_pinterest_source/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": 1658344851.047057}, "macro.fivetran_utils.try_cast": {"unique_id": "macro.fivetran_utils.try_cast", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344851.047914}, "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/pinterest/dbt_pinterest_source/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": 1658344851.0480509}, "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/pinterest/dbt_pinterest_source/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": 1658344851.048322}, "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/pinterest/dbt_pinterest_source/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": 1658344851.048602}, "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/pinterest/dbt_pinterest_source/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": 1658344851.0487309}, "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/pinterest/dbt_pinterest_source/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": 1658344851.048856}, "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/pinterest/dbt_pinterest_source/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": 1658344851.048975}, "macro.fivetran_utils.source_relation": {"unique_id": "macro.fivetran_utils.source_relation", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344851.049512}, "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/pinterest/dbt_pinterest_source/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": 1658344851.05008}, "macro.fivetran_utils.first_value": {"unique_id": "macro.fivetran_utils.first_value", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344851.0506392}, "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/pinterest/dbt_pinterest_source/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": 1658344851.050838}, "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/pinterest/dbt_pinterest_source/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": 1658344851.051054}, "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/pinterest/dbt_pinterest_source/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": 1658344851.0513852}, "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/pinterest/dbt_pinterest_source/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": 1658344851.052325}, "macro.fivetran_utils.union_relations": {"unique_id": "macro.fivetran_utils.union_relations", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344851.05616}, "macro.fivetran_utils.union_tables": {"unique_id": "macro.fivetran_utils.union_tables", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344851.056515}, "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/pinterest/dbt_pinterest_source/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": 1658344851.056962}, "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/pinterest/dbt_pinterest_source/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": 1658344851.058511}, "macro.fivetran_utils.quote_column": {"unique_id": "macro.fivetran_utils.quote_column", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344851.059062}, "macro.fivetran_utils.json_extract": {"unique_id": "macro.fivetran_utils.json_extract", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344851.059659}, "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/pinterest/dbt_pinterest_source/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": 1658344851.059813}, "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/pinterest/dbt_pinterest_source/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": 1658344851.059962}, "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/pinterest/dbt_pinterest_source/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": 1658344851.060129}, "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/pinterest/dbt_pinterest_source/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": 1658344851.0602791}, "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/pinterest/dbt_pinterest_source/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": 1658344851.060422}, "macro.fivetran_utils.collect_freshness": {"unique_id": "macro.fivetran_utils.collect_freshness", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344851.061165}, "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/pinterest/dbt_pinterest_source/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": 1658344851.06213}, "macro.fivetran_utils.timestamp_add": {"unique_id": "macro.fivetran_utils.timestamp_add", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344851.062845}, "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/pinterest/dbt_pinterest_source/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": 1658344851.0630112}, "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/pinterest/dbt_pinterest_source/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": 1658344851.063164}, "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/pinterest/dbt_pinterest_source/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": 1658344851.063321}, "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/pinterest/dbt_pinterest_source/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": 1658344851.063471}, "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/pinterest/dbt_pinterest_source/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": 1658344851.063642}, "macro.fivetran_utils.ceiling": {"unique_id": "macro.fivetran_utils.ceiling", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344851.063951}, "macro.fivetran_utils.default__ceiling": {"unique_id": "macro.fivetran_utils.default__ceiling", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344851.0641122}, "macro.fivetran_utils.snowflake__ceiling": {"unique_id": "macro.fivetran_utils.snowflake__ceiling", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344851.0642078}, "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/pinterest/dbt_pinterest_source/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": 1658344851.064898}, "macro.fivetran_utils.union_data": {"unique_id": "macro.fivetran_utils.union_data", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344851.066135}, "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/pinterest/dbt_pinterest_source/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": 1658344851.067863}, "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/pinterest/dbt_pinterest_source/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": 1658344851.069324}, "macro.fivetran_utils.array_agg": {"unique_id": "macro.fivetran_utils.array_agg", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/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": 1658344851.069651}, "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/pinterest/dbt_pinterest_source/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": 1658344851.0697541}, "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/pinterest/dbt_pinterest_source/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": 1658344851.069851}, "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/pinterest/dbt_pinterest_source/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": 1658344851.070303}, "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/pinterest/dbt_pinterest_source/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": 1658344851.070754}, "macro.pinterest_source.get_ad_group_history_columns": {"unique_id": "macro.pinterest_source.get_ad_group_history_columns", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "macros/get_ad_group_history_columns.sql", "original_file_path": "macros/get_ad_group_history_columns.sql", "name": "get_ad_group_history_columns", "macro_sql": "{% macro get_ad_group_history_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"campaign_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"created_time\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"end_time\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"name\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"start_time\", \"datatype\": dbt_utils.type_timestamp()},\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_string"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1658344851.071777}, "macro.pinterest_source.get_pin_promotion_history_columns": {"unique_id": "macro.pinterest_source.get_pin_promotion_history_columns", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "macros/get_pin_promotion_history_columns.sql", "original_file_path": "macros/get_pin_promotion_history_columns.sql", "name": "get_pin_promotion_history_columns", "macro_sql": "{% macro get_pin_promotion_history_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"ad_group_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"android_deep_link\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"click_tracking_url\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"created_time\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"creative_type\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"destination_url\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"ios_deep_link\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"is_pin_deleted\", \"datatype\": \"boolean\"},\n {\"name\": \"is_removable\", \"datatype\": \"boolean\"},\n {\"name\": \"name\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"pin_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"review_status\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"status\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"updated_time\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"view_tracking_url\", \"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_string"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1658344851.073743}, "macro.pinterest_source.get_keyword_report_columns": {"unique_id": "macro.pinterest_source.get_keyword_report_columns", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "macros/get_keyword_report_columns.sql", "original_file_path": "macros/get_keyword_report_columns.sql", "name": "get_keyword_report_columns", "macro_sql": "{% macro get_keyword_report_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"ad_group_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"ad_group_name\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"ad_group_status\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"advertiser_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"campaign_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"clickthrough_1\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"clickthrough_2\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"date\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"impression_1\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"impression_2\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"keyword_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"pin_promotion_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"spend_in_micro_dollar\", \"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_string", "macro.dbt_utils.type_int"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1658344851.075392}, "macro.pinterest_source.get_pin_promotion_report_columns": {"unique_id": "macro.pinterest_source.get_pin_promotion_report_columns", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "macros/get_pin_promotion_report_columns.sql", "original_file_path": "macros/get_pin_promotion_report_columns.sql", "name": "get_pin_promotion_report_columns", "macro_sql": "{% macro get_pin_promotion_report_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"ad_group_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"advertiser_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"campaign_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"clickthrough_1\", \"datatype\": dbt_utils.type_numeric()},\n {\"name\": \"clickthrough_2\", \"datatype\": dbt_utils.type_numeric()},\n {\"name\": \"date\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"impression_1\", \"datatype\": dbt_utils.type_numeric()},\n {\"name\": \"impression_2\", \"datatype\": dbt_utils.type_numeric()},\n {\"name\": \"pin_promotion_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"spend_in_micro_dollar\", \"datatype\": dbt_utils.type_numeric()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.type_timestamp", "macro.dbt_utils.type_string", "macro.dbt_utils.type_numeric"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1658344851.076728}, "macro.pinterest_source.get_campaign_report_columns": {"unique_id": "macro.pinterest_source.get_campaign_report_columns", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "macros/get_campaign_report_columns.sql", "original_file_path": "macros/get_campaign_report_columns.sql", "name": "get_campaign_report_columns", "macro_sql": "{% macro get_campaign_report_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"advertiser_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"campaign_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"campaign_name\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"campaign_status\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"clickthrough_1\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"clickthrough_2\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"date\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"impression_1\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"impression_2\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"spend_in_micro_dollar\", \"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_string", "macro.dbt_utils.type_int"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1658344851.078069}, "macro.pinterest_source.get_campaign_history_columns": {"unique_id": "macro.pinterest_source.get_campaign_history_columns", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_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\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"created_time\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"advertiser_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"name\", \"datatype\": dbt_utils.type_string()},\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_string"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1658344851.078918}, "macro.pinterest_source.get_advertiser_history_columns": {"unique_id": "macro.pinterest_source.get_advertiser_history_columns", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "macros/get_advertiser_history_columns.sql", "original_file_path": "macros/get_advertiser_history_columns.sql", "name": "get_advertiser_history_columns", "macro_sql": "{% macro get_advertiser_history_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"billing_profile_status\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"billing_type\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"country\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"created_time\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"currency\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"merchant_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"name\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"owner_user_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"status\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"updated_time\", \"datatype\": dbt_utils.type_timestamp()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.type_timestamp", "macro.dbt_utils.type_string"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1658344851.080332}, "macro.pinterest_source.get_ad_group_report_columns": {"unique_id": "macro.pinterest_source.get_ad_group_report_columns", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "macros/get_ad_group_report_columns.sql", "original_file_path": "macros/get_ad_group_report_columns.sql", "name": "get_ad_group_report_columns", "macro_sql": "{% macro get_ad_group_report_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"ad_group_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"ad_group_name\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"ad_group_status\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"advertiser_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"campaign_id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"clickthrough_1\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"clickthrough_2\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"date\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"impression_1\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"impression_2\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"spend_in_micro_dollar\", \"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_string", "macro.dbt_utils.type_int"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1658344851.0817862}, "macro.pinterest_source.get_keyword_history_columns": {"unique_id": "macro.pinterest_source.get_keyword_history_columns", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "macros/get_keyword_history_columns.sql", "original_file_path": "macros/get_keyword_history_columns.sql", "name": "get_keyword_history_columns", "macro_sql": "{% macro get_keyword_history_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"ad_group_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"advertiser_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"archived\", \"datatype\": \"boolean\"},\n {\"name\": \"bid\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"campaign_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"match_type\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"parent_type\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"value\", \"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": 1658344851.0830898}, "macro.pinterest_source.get_advertiser_report_columns": {"unique_id": "macro.pinterest_source.get_advertiser_report_columns", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "macros/get_advertiser_report_columns.sql", "original_file_path": "macros/get_advertiser_report_columns.sql", "name": "get_advertiser_report_columns", "macro_sql": "{% macro get_advertiser_report_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"advertiser_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"clickthrough_1\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"clickthrough_2\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"date\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"impression_1\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"impression_2\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"spend_in_micro_dollar\", \"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_string", "macro.dbt_utils.type_int"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1658344851.084125}}, "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"}, "pinterest_source._fivetran_synced": {"unique_id": "pinterest_source._fivetran_synced", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "_fivetran_synced", "block_contents": "Timestamp of when a record was last synced."}, "pinterest_source.is_most_recent_record": {"unique_id": "pinterest_source.is_most_recent_record", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "is_most_recent_record", "block_contents": "Boolean representing whether the record is the most recent version of the object."}, "pinterest_source.date_day": {"unique_id": "pinterest_source.date_day", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "date_day", "block_contents": "The performance date of the record."}, "pinterest_source.ad_group_id": {"unique_id": "pinterest_source.ad_group_id", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "ad_group_id", "block_contents": "The ID of the related Ad group."}, "pinterest_source.pin_promotion_id": {"unique_id": "pinterest_source.pin_promotion_id", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "pin_promotion_id", "block_contents": "The ID of the related Pin promotion."}, "pinterest_source.campaign_id": {"unique_id": "pinterest_source.campaign_id", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "campaign_id", "block_contents": "The ID of the related Campaign."}, "pinterest_source.advertiser_id": {"unique_id": "pinterest_source.advertiser_id", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "advertiser_id", "block_contents": "The ID of the related Advertiser."}, "pinterest_source.impressions": {"unique_id": "pinterest_source.impressions", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "impressions", "block_contents": "The number of paid and earned impressions that occurred on the day of the record."}, "pinterest_source.clicks": {"unique_id": "pinterest_source.clicks", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "clicks", "block_contents": "The number of paid and earned clicks that occurred on the day of the record."}, "pinterest_source.spend": {"unique_id": "pinterest_source.spend", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "spend", "block_contents": "The amount of spend that occurred on the day of the record."}, "pinterest_source.updated_at": {"unique_id": "pinterest_source.updated_at", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "updated_at", "block_contents": "Timestamp of when a record was last updated."}, "pinterest_source.created_at": {"unique_id": "pinterest_source.created_at", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "created_at", "block_contents": "Timestamp of when a record was created."}, "pinterest_source.spend_in_micro_dollar": {"unique_id": "pinterest_source.spend_in_micro_dollar", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "spend_in_micro_dollar", "block_contents": "The amount of spend in micro dollars that occurred on the day of the record."}, "pinterest_source.clickthrough_1": {"unique_id": "pinterest_source.clickthrough_1", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "clickthrough_1", "block_contents": "The number of paid pin clicks that occurred on the day of the record."}, "pinterest_source.clickthrough_2": {"unique_id": "pinterest_source.clickthrough_2", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "clickthrough_2", "block_contents": "The number of earned outbound clicks that occurred on the day of the record."}, "pinterest_source.impression_1": {"unique_id": "pinterest_source.impression_1", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "impression_1", "block_contents": "The number of paid pin impressions that occurred on the day of the record."}, "pinterest_source.impression_2": {"unique_id": "pinterest_source.impression_2", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "impression_2", "block_contents": "The number of earned pin impressions that occurred on the day of the record."}}, "exposures": {}, "metrics": {}, "selectors": {}, "disabled": {}, "parent_map": {"seed.pinterest_source_integration_tests.ad_group_report_data": [], "seed.pinterest_source_integration_tests.keyword_report_data": [], "seed.pinterest_source_integration_tests.pin_promotion_history_data": [], "seed.pinterest_source_integration_tests.advertiser_history_data": [], "seed.pinterest_source_integration_tests.advertiser_report_data": [], "seed.pinterest_source_integration_tests.ad_group_history_data": [], "seed.pinterest_source_integration_tests.campaign_history_data": [], "seed.pinterest_source_integration_tests.campaign_report_data": [], "seed.pinterest_source_integration_tests.keyword_history_data": [], "seed.pinterest_source_integration_tests.pin_promotion_report_data": [], "model.pinterest_source.stg_pinterest_ads__pin_promotion_history": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_history_tmp", "model.pinterest_source.stg_pinterest_ads__pin_promotion_history_tmp"], "model.pinterest_source.stg_pinterest_ads__keyword_report": ["model.pinterest_source.stg_pinterest_ads__keyword_report_tmp", "model.pinterest_source.stg_pinterest_ads__keyword_report_tmp"], "model.pinterest_source.stg_pinterest_ads__ad_group_report": ["model.pinterest_source.stg_pinterest_ads__ad_group_report_tmp", "model.pinterest_source.stg_pinterest_ads__ad_group_report_tmp"], "model.pinterest_source.stg_pinterest_ads__campaign_history": ["model.pinterest_source.stg_pinterest_ads__campaign_history_tmp", "model.pinterest_source.stg_pinterest_ads__campaign_history_tmp"], "model.pinterest_source.stg_pinterest_ads__advertiser_report": ["model.pinterest_source.stg_pinterest_ads__advertiser_report_tmp", "model.pinterest_source.stg_pinterest_ads__advertiser_report_tmp"], "model.pinterest_source.stg_pinterest_ads__advertiser_history": ["model.pinterest_source.stg_pinterest_ads__advertiser_history_tmp", "model.pinterest_source.stg_pinterest_ads__advertiser_history_tmp"], "model.pinterest_source.stg_pinterest_ads__campaign_report": ["model.pinterest_source.stg_pinterest_ads__campaign_report_tmp", "model.pinterest_source.stg_pinterest_ads__campaign_report_tmp"], "model.pinterest_source.stg_pinterest_ads__keyword_history": ["model.pinterest_source.stg_pinterest_ads__keyword_history_tmp", "model.pinterest_source.stg_pinterest_ads__keyword_history_tmp"], "model.pinterest_source.stg_pinterest_ads__pin_promotion_report": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_report_tmp", "model.pinterest_source.stg_pinterest_ads__pin_promotion_report_tmp"], "model.pinterest_source.stg_pinterest_ads__ad_group_history": ["model.pinterest_source.stg_pinterest_ads__ad_group_history_tmp", "model.pinterest_source.stg_pinterest_ads__ad_group_history_tmp"], "model.pinterest_source.stg_pinterest_ads__advertiser_history_tmp": ["source.pinterest_source.pinterest_ads.advertiser_history"], "model.pinterest_source.stg_pinterest_ads__pin_promotion_report_tmp": ["source.pinterest_source.pinterest_ads.pin_promotion_report"], "model.pinterest_source.stg_pinterest_ads__campaign_report_tmp": ["source.pinterest_source.pinterest_ads.campaign_report"], "model.pinterest_source.stg_pinterest_ads__advertiser_report_tmp": ["source.pinterest_source.pinterest_ads.advertiser_report"], "model.pinterest_source.stg_pinterest_ads__keyword_report_tmp": ["source.pinterest_source.pinterest_ads.keyword_report"], "model.pinterest_source.stg_pinterest_ads__ad_group_report_tmp": ["source.pinterest_source.pinterest_ads.ad_group_report"], "model.pinterest_source.stg_pinterest_ads__keyword_history_tmp": ["source.pinterest_source.pinterest_ads.keyword_history"], "model.pinterest_source.stg_pinterest_ads__campaign_history_tmp": ["source.pinterest_source.pinterest_ads.campaign_history"], "model.pinterest_source.stg_pinterest_ads__ad_group_history_tmp": ["source.pinterest_source.pinterest_ads.ad_group_history"], "model.pinterest_source.stg_pinterest_ads__pin_promotion_history_tmp": ["source.pinterest_source.pinterest_ads.pin_promotion_history"], "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_history_ad_group_id.220c6220be": ["model.pinterest_source.stg_pinterest_ads__ad_group_history"], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_history_ad_group_id___fivetran_synced.1132e1f339": ["model.pinterest_source.stg_pinterest_ads__ad_group_history"], "test.pinterest_source.not_null_stg_pinterest_ads__campaign_history_campaign_id.60cb10d341": ["model.pinterest_source.stg_pinterest_ads__campaign_history"], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_history_campaign_id___fivetran_synced.eff7196b87": ["model.pinterest_source.stg_pinterest_ads__campaign_history"], "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_history_pin_promotion_id.171995cd34": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_history"], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_history__fivetran_synced__pin_promotion_id.8e9ab31ea9": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_history"], "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_report_date_day.ed272212a1": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_report"], "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_report_pin_promotion_id.9c3c9f71ab": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_report"], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_report_date_day__pin_promotion_id__ad_group_id__campaign_id__advertiser_id.7ea04e6024": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_report"], "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_report_date_day.80e8904c4c": ["model.pinterest_source.stg_pinterest_ads__ad_group_report"], "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_report_ad_group_id.bb8cf3c471": ["model.pinterest_source.stg_pinterest_ads__ad_group_report"], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_report_date_day__ad_group_id__campaign_id__advertiser_id.3800c02b0e": ["model.pinterest_source.stg_pinterest_ads__ad_group_report"], "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_history_advertiser_id.7d24f665fb": ["model.pinterest_source.stg_pinterest_ads__advertiser_history"], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_history_updated_at__advertiser_id.94e8f4de4b": ["model.pinterest_source.stg_pinterest_ads__advertiser_history"], "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_report_date_day.153bd03c95": ["model.pinterest_source.stg_pinterest_ads__advertiser_report"], "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_report_advertiser_id.1b16ed73ff": ["model.pinterest_source.stg_pinterest_ads__advertiser_report"], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_report_date_day__advertiser_id.e92ce8a9c0": ["model.pinterest_source.stg_pinterest_ads__advertiser_report"], "test.pinterest_source.not_null_stg_pinterest_ads__campaign_report_date_day.7ef5fb1238": ["model.pinterest_source.stg_pinterest_ads__campaign_report"], "test.pinterest_source.not_null_stg_pinterest_ads__campaign_report_campaign_id.a287eba0fc": ["model.pinterest_source.stg_pinterest_ads__campaign_report"], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_report_date_day__campaign_id__advertiser_id.ff47cb8abc": ["model.pinterest_source.stg_pinterest_ads__campaign_report"], "test.pinterest_source.not_null_stg_pinterest_ads__keyword_history_keyword_id.246889377a": ["model.pinterest_source.stg_pinterest_ads__keyword_history"], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_history_keyword_id__ad_group_id___fivetran_synced.d122faa877": ["model.pinterest_source.stg_pinterest_ads__keyword_history"], "test.pinterest_source.not_null_stg_pinterest_ads__keyword_report_date_day.9937216300": ["model.pinterest_source.stg_pinterest_ads__keyword_report"], "test.pinterest_source.not_null_stg_pinterest_ads__keyword_report_keyword_id.5f00679c48": ["model.pinterest_source.stg_pinterest_ads__keyword_report"], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_report_date_day__keyword_id__ad_group_id__campaign_id__advertiser_id.3ac101cc13": ["model.pinterest_source.stg_pinterest_ads__keyword_report"], "source.pinterest_source.pinterest_ads.pin_promotion_report": [], "source.pinterest_source.pinterest_ads.pin_promotion_history": [], "source.pinterest_source.pinterest_ads.campaign_history": [], "source.pinterest_source.pinterest_ads.ad_group_history": [], "source.pinterest_source.pinterest_ads.ad_group_report": [], "source.pinterest_source.pinterest_ads.advertiser_history": [], "source.pinterest_source.pinterest_ads.advertiser_report": [], "source.pinterest_source.pinterest_ads.campaign_report": [], "source.pinterest_source.pinterest_ads.keyword_history": [], "source.pinterest_source.pinterest_ads.keyword_report": []}, "child_map": {"seed.pinterest_source_integration_tests.ad_group_report_data": [], "seed.pinterest_source_integration_tests.keyword_report_data": [], "seed.pinterest_source_integration_tests.pin_promotion_history_data": [], "seed.pinterest_source_integration_tests.advertiser_history_data": [], "seed.pinterest_source_integration_tests.advertiser_report_data": [], "seed.pinterest_source_integration_tests.ad_group_history_data": [], "seed.pinterest_source_integration_tests.campaign_history_data": [], "seed.pinterest_source_integration_tests.campaign_report_data": [], "seed.pinterest_source_integration_tests.keyword_history_data": [], "seed.pinterest_source_integration_tests.pin_promotion_report_data": [], "model.pinterest_source.stg_pinterest_ads__pin_promotion_history": ["test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_history__fivetran_synced__pin_promotion_id.8e9ab31ea9", "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_history_pin_promotion_id.171995cd34"], "model.pinterest_source.stg_pinterest_ads__keyword_report": ["test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_report_date_day__keyword_id__ad_group_id__campaign_id__advertiser_id.3ac101cc13", "test.pinterest_source.not_null_stg_pinterest_ads__keyword_report_date_day.9937216300", "test.pinterest_source.not_null_stg_pinterest_ads__keyword_report_keyword_id.5f00679c48"], "model.pinterest_source.stg_pinterest_ads__ad_group_report": ["test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_report_date_day__ad_group_id__campaign_id__advertiser_id.3800c02b0e", "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_report_ad_group_id.bb8cf3c471", "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_report_date_day.80e8904c4c"], "model.pinterest_source.stg_pinterest_ads__campaign_history": ["test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_history_campaign_id___fivetran_synced.eff7196b87", "test.pinterest_source.not_null_stg_pinterest_ads__campaign_history_campaign_id.60cb10d341"], "model.pinterest_source.stg_pinterest_ads__advertiser_report": ["test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_report_date_day__advertiser_id.e92ce8a9c0", "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_report_advertiser_id.1b16ed73ff", "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_report_date_day.153bd03c95"], "model.pinterest_source.stg_pinterest_ads__advertiser_history": ["test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_history_updated_at__advertiser_id.94e8f4de4b", "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_history_advertiser_id.7d24f665fb"], "model.pinterest_source.stg_pinterest_ads__campaign_report": ["test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_report_date_day__campaign_id__advertiser_id.ff47cb8abc", "test.pinterest_source.not_null_stg_pinterest_ads__campaign_report_campaign_id.a287eba0fc", "test.pinterest_source.not_null_stg_pinterest_ads__campaign_report_date_day.7ef5fb1238"], "model.pinterest_source.stg_pinterest_ads__keyword_history": ["test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_history_keyword_id__ad_group_id___fivetran_synced.d122faa877", "test.pinterest_source.not_null_stg_pinterest_ads__keyword_history_keyword_id.246889377a"], "model.pinterest_source.stg_pinterest_ads__pin_promotion_report": ["test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_report_date_day__pin_promotion_id__ad_group_id__campaign_id__advertiser_id.7ea04e6024", "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_report_date_day.ed272212a1", "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_report_pin_promotion_id.9c3c9f71ab"], "model.pinterest_source.stg_pinterest_ads__ad_group_history": ["test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_history_ad_group_id___fivetran_synced.1132e1f339", "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_history_ad_group_id.220c6220be"], "model.pinterest_source.stg_pinterest_ads__advertiser_history_tmp": ["model.pinterest_source.stg_pinterest_ads__advertiser_history", "model.pinterest_source.stg_pinterest_ads__advertiser_history"], "model.pinterest_source.stg_pinterest_ads__pin_promotion_report_tmp": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_report", "model.pinterest_source.stg_pinterest_ads__pin_promotion_report"], "model.pinterest_source.stg_pinterest_ads__campaign_report_tmp": ["model.pinterest_source.stg_pinterest_ads__campaign_report", "model.pinterest_source.stg_pinterest_ads__campaign_report"], "model.pinterest_source.stg_pinterest_ads__advertiser_report_tmp": ["model.pinterest_source.stg_pinterest_ads__advertiser_report", "model.pinterest_source.stg_pinterest_ads__advertiser_report"], "model.pinterest_source.stg_pinterest_ads__keyword_report_tmp": ["model.pinterest_source.stg_pinterest_ads__keyword_report", "model.pinterest_source.stg_pinterest_ads__keyword_report"], "model.pinterest_source.stg_pinterest_ads__ad_group_report_tmp": ["model.pinterest_source.stg_pinterest_ads__ad_group_report", "model.pinterest_source.stg_pinterest_ads__ad_group_report"], "model.pinterest_source.stg_pinterest_ads__keyword_history_tmp": ["model.pinterest_source.stg_pinterest_ads__keyword_history", "model.pinterest_source.stg_pinterest_ads__keyword_history"], "model.pinterest_source.stg_pinterest_ads__campaign_history_tmp": ["model.pinterest_source.stg_pinterest_ads__campaign_history", "model.pinterest_source.stg_pinterest_ads__campaign_history"], "model.pinterest_source.stg_pinterest_ads__ad_group_history_tmp": ["model.pinterest_source.stg_pinterest_ads__ad_group_history", "model.pinterest_source.stg_pinterest_ads__ad_group_history"], "model.pinterest_source.stg_pinterest_ads__pin_promotion_history_tmp": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_history", "model.pinterest_source.stg_pinterest_ads__pin_promotion_history"], "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_history_ad_group_id.220c6220be": [], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_history_ad_group_id___fivetran_synced.1132e1f339": [], "test.pinterest_source.not_null_stg_pinterest_ads__campaign_history_campaign_id.60cb10d341": [], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_history_campaign_id___fivetran_synced.eff7196b87": [], "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_history_pin_promotion_id.171995cd34": [], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_history__fivetran_synced__pin_promotion_id.8e9ab31ea9": [], "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_report_date_day.ed272212a1": [], "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_report_pin_promotion_id.9c3c9f71ab": [], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_report_date_day__pin_promotion_id__ad_group_id__campaign_id__advertiser_id.7ea04e6024": [], "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_report_date_day.80e8904c4c": [], "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_report_ad_group_id.bb8cf3c471": [], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_report_date_day__ad_group_id__campaign_id__advertiser_id.3800c02b0e": [], "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_history_advertiser_id.7d24f665fb": [], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_history_updated_at__advertiser_id.94e8f4de4b": [], "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_report_date_day.153bd03c95": [], "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_report_advertiser_id.1b16ed73ff": [], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_report_date_day__advertiser_id.e92ce8a9c0": [], "test.pinterest_source.not_null_stg_pinterest_ads__campaign_report_date_day.7ef5fb1238": [], "test.pinterest_source.not_null_stg_pinterest_ads__campaign_report_campaign_id.a287eba0fc": [], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_report_date_day__campaign_id__advertiser_id.ff47cb8abc": [], "test.pinterest_source.not_null_stg_pinterest_ads__keyword_history_keyword_id.246889377a": [], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_history_keyword_id__ad_group_id___fivetran_synced.d122faa877": [], "test.pinterest_source.not_null_stg_pinterest_ads__keyword_report_date_day.9937216300": [], "test.pinterest_source.not_null_stg_pinterest_ads__keyword_report_keyword_id.5f00679c48": [], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_report_date_day__keyword_id__ad_group_id__campaign_id__advertiser_id.3ac101cc13": [], "source.pinterest_source.pinterest_ads.pin_promotion_report": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_report_tmp"], "source.pinterest_source.pinterest_ads.pin_promotion_history": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_history_tmp"], "source.pinterest_source.pinterest_ads.campaign_history": ["model.pinterest_source.stg_pinterest_ads__campaign_history_tmp"], "source.pinterest_source.pinterest_ads.ad_group_history": ["model.pinterest_source.stg_pinterest_ads__ad_group_history_tmp"], "source.pinterest_source.pinterest_ads.ad_group_report": ["model.pinterest_source.stg_pinterest_ads__ad_group_report_tmp"], "source.pinterest_source.pinterest_ads.advertiser_history": ["model.pinterest_source.stg_pinterest_ads__advertiser_history_tmp"], "source.pinterest_source.pinterest_ads.advertiser_report": ["model.pinterest_source.stg_pinterest_ads__advertiser_report_tmp"], "source.pinterest_source.pinterest_ads.campaign_report": ["model.pinterest_source.stg_pinterest_ads__campaign_report_tmp"], "source.pinterest_source.pinterest_ads.keyword_history": ["model.pinterest_source.stg_pinterest_ads__keyword_history_tmp"], "source.pinterest_source.pinterest_ads.keyword_report": ["model.pinterest_source.stg_pinterest_ads__keyword_report_tmp"]}} \ No newline at end of file +{"metadata": {"dbt_schema_version": "https://schemas.getdbt.com/dbt/manifest/v4.json", "dbt_version": "1.0.4", "generated_at": "2022-08-26T19:13:43.617452Z", "invocation_id": "8a46fe58-7668-438b-b339-da95094a0356", "env": {}, "project_id": "0c5e93f26aaf82565f2c06106a3cb878", "user_id": "8929baf0-9bc1-477e-9a57-eb8b0db4da62", "send_anonymous_usage_stats": true, "adapter_type": "postgres"}, "nodes": {"seed.pinterest_source_integration_tests.ad_group_report_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", "campaign_id": "bigint", "ad_group_id": "bigint", "pin_id": "bigint", "advertiser_id": "bigint", "pin_promotion_id": "bigint", "keyword_id": "bigint"}, "full_refresh": null, "on_schema_change": "ignore", "quote_columns": true, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "pinterest_source_integration_tests", "fqn": ["pinterest_source_integration_tests", "ad_group_report_data"], "unique_id": "seed.pinterest_source_integration_tests.ad_group_report_data", "package_name": "pinterest_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/pinterest/dbt_pinterest_source/integration_tests", "path": "ad_group_report_data.csv", "original_file_path": "seeds/ad_group_report_data.csv", "name": "ad_group_report_data", "alias": "ad_group_report_data", "checksum": {"name": "sha256", "checksum": "e97c0744fe3e48bcc4f9016c719b37f08e7cf5d2eed93805e0d54678df283662"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type in ('redshift','postgres') else false }}", "column_types": {"id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "ad_group_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "advertiser_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_promotion_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "keyword_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}"}}, "created_at": 1661541213.2468429, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"ad_group_report_data\""}, "seed.pinterest_source_integration_tests.keyword_report_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", "campaign_id": "bigint", "ad_group_id": "bigint", "pin_id": "bigint", "advertiser_id": "bigint", "pin_promotion_id": "bigint", "keyword_id": "bigint"}, "full_refresh": null, "on_schema_change": "ignore", "quote_columns": true, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "pinterest_source_integration_tests", "fqn": ["pinterest_source_integration_tests", "keyword_report_data"], "unique_id": "seed.pinterest_source_integration_tests.keyword_report_data", "package_name": "pinterest_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/pinterest/dbt_pinterest_source/integration_tests", "path": "keyword_report_data.csv", "original_file_path": "seeds/keyword_report_data.csv", "name": "keyword_report_data", "alias": "keyword_report_data", "checksum": {"name": "sha256", "checksum": "1035144a7494a5a018e6a87770e8ee67eb6b98f6e899865c1e7c4b1bfc4b6951"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type in ('redshift','postgres') else false }}", "column_types": {"id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "ad_group_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "advertiser_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_promotion_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "keyword_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}"}}, "created_at": 1661541213.2536588, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"keyword_report_data\""}, "seed.pinterest_source_integration_tests.pin_promotion_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", "campaign_id": "bigint", "ad_group_id": "bigint", "pin_id": "bigint", "advertiser_id": "bigint", "pin_promotion_id": "bigint", "keyword_id": "bigint"}, "full_refresh": null, "on_schema_change": "ignore", "quote_columns": true, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "pinterest_source_integration_tests", "fqn": ["pinterest_source_integration_tests", "pin_promotion_history_data"], "unique_id": "seed.pinterest_source_integration_tests.pin_promotion_history_data", "package_name": "pinterest_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/pinterest/dbt_pinterest_source/integration_tests", "path": "pin_promotion_history_data.csv", "original_file_path": "seeds/pin_promotion_history_data.csv", "name": "pin_promotion_history_data", "alias": "pin_promotion_history_data", "checksum": {"name": "sha256", "checksum": "6b7c5d891ccb02be0c1e126545984964eb4fa226a9d1ae9741ad76288497e338"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type in ('redshift','postgres') else false }}", "column_types": {"id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "ad_group_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "advertiser_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_promotion_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "keyword_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}"}}, "created_at": 1661541213.254706, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"pin_promotion_history_data\""}, "seed.pinterest_source_integration_tests.advertiser_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", "campaign_id": "bigint", "ad_group_id": "bigint", "pin_id": "bigint", "advertiser_id": "bigint", "pin_promotion_id": "bigint", "keyword_id": "bigint"}, "full_refresh": null, "on_schema_change": "ignore", "quote_columns": true, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "pinterest_source_integration_tests", "fqn": ["pinterest_source_integration_tests", "advertiser_history_data"], "unique_id": "seed.pinterest_source_integration_tests.advertiser_history_data", "package_name": "pinterest_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/pinterest/dbt_pinterest_source/integration_tests", "path": "advertiser_history_data.csv", "original_file_path": "seeds/advertiser_history_data.csv", "name": "advertiser_history_data", "alias": "advertiser_history_data", "checksum": {"name": "sha256", "checksum": "a1efd698a39cc0a75b74b43b84d114eddf6eaac9d3dd7d2a06e704951c091fe4"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type in ('redshift','postgres') else false }}", "column_types": {"id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "ad_group_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "advertiser_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_promotion_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "keyword_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}"}}, "created_at": 1661541213.255896, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"advertiser_history_data\""}, "seed.pinterest_source_integration_tests.advertiser_report_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", "campaign_id": "bigint", "ad_group_id": "bigint", "pin_id": "bigint", "advertiser_id": "bigint", "pin_promotion_id": "bigint", "keyword_id": "bigint"}, "full_refresh": null, "on_schema_change": "ignore", "quote_columns": true, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "pinterest_source_integration_tests", "fqn": ["pinterest_source_integration_tests", "advertiser_report_data"], "unique_id": "seed.pinterest_source_integration_tests.advertiser_report_data", "package_name": "pinterest_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/pinterest/dbt_pinterest_source/integration_tests", "path": "advertiser_report_data.csv", "original_file_path": "seeds/advertiser_report_data.csv", "name": "advertiser_report_data", "alias": "advertiser_report_data", "checksum": {"name": "sha256", "checksum": "1c259e5a0e32230a041a13947432b02764f30f9a7aa245893c63a386fb2ee60e"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type in ('redshift','postgres') else false }}", "column_types": {"id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "ad_group_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "advertiser_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_promotion_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "keyword_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}"}}, "created_at": 1661541213.25725, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"advertiser_report_data\""}, "seed.pinterest_source_integration_tests.ad_group_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", "campaign_id": "bigint", "ad_group_id": "bigint", "pin_id": "bigint", "advertiser_id": "bigint", "pin_promotion_id": "bigint", "keyword_id": "bigint"}, "full_refresh": null, "on_schema_change": "ignore", "quote_columns": true, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "pinterest_source_integration_tests", "fqn": ["pinterest_source_integration_tests", "ad_group_history_data"], "unique_id": "seed.pinterest_source_integration_tests.ad_group_history_data", "package_name": "pinterest_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/pinterest/dbt_pinterest_source/integration_tests", "path": "ad_group_history_data.csv", "original_file_path": "seeds/ad_group_history_data.csv", "name": "ad_group_history_data", "alias": "ad_group_history_data", "checksum": {"name": "sha256", "checksum": "ff76dce5a5b57b38a03bfc295838b9f05e99e3e310066ac3fc96f7c78e3b6be8"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type in ('redshift','postgres') else false }}", "column_types": {"id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "ad_group_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "advertiser_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_promotion_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "keyword_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}"}}, "created_at": 1661541213.25858, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"ad_group_history_data\""}, "seed.pinterest_source_integration_tests.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", "campaign_id": "bigint", "ad_group_id": "bigint", "pin_id": "bigint", "advertiser_id": "bigint", "pin_promotion_id": "bigint", "keyword_id": "bigint"}, "full_refresh": null, "on_schema_change": "ignore", "quote_columns": true, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "pinterest_source_integration_tests", "fqn": ["pinterest_source_integration_tests", "campaign_history_data"], "unique_id": "seed.pinterest_source_integration_tests.campaign_history_data", "package_name": "pinterest_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/pinterest/dbt_pinterest_source/integration_tests", "path": "campaign_history_data.csv", "original_file_path": "seeds/campaign_history_data.csv", "name": "campaign_history_data", "alias": "campaign_history_data", "checksum": {"name": "sha256", "checksum": "4c2ec13ff8548a5571e2de4601947d72d934669534584fa234099b3200564aab"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type in ('redshift','postgres') else false }}", "column_types": {"id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "ad_group_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "advertiser_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_promotion_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "keyword_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}"}}, "created_at": 1661541213.259628, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"campaign_history_data\""}, "seed.pinterest_source_integration_tests.campaign_report_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", "campaign_id": "bigint", "ad_group_id": "bigint", "pin_id": "bigint", "advertiser_id": "bigint", "pin_promotion_id": "bigint", "keyword_id": "bigint"}, "full_refresh": null, "on_schema_change": "ignore", "quote_columns": true, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "pinterest_source_integration_tests", "fqn": ["pinterest_source_integration_tests", "campaign_report_data"], "unique_id": "seed.pinterest_source_integration_tests.campaign_report_data", "package_name": "pinterest_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/pinterest/dbt_pinterest_source/integration_tests", "path": "campaign_report_data.csv", "original_file_path": "seeds/campaign_report_data.csv", "name": "campaign_report_data", "alias": "campaign_report_data", "checksum": {"name": "sha256", "checksum": "b13c07bb0eabe3bb01f21e3a9ca46d6d549a7ae56668fd3c3bc69ba033586638"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type in ('redshift','postgres') else false }}", "column_types": {"id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "ad_group_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "advertiser_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_promotion_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "keyword_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}"}}, "created_at": 1661541213.260889, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"campaign_report_data\""}, "seed.pinterest_source_integration_tests.keyword_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", "campaign_id": "bigint", "ad_group_id": "bigint", "pin_id": "bigint", "advertiser_id": "bigint", "pin_promotion_id": "bigint", "keyword_id": "bigint"}, "full_refresh": null, "on_schema_change": "ignore", "quote_columns": true, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "pinterest_source_integration_tests", "fqn": ["pinterest_source_integration_tests", "keyword_history_data"], "unique_id": "seed.pinterest_source_integration_tests.keyword_history_data", "package_name": "pinterest_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/pinterest/dbt_pinterest_source/integration_tests", "path": "keyword_history_data.csv", "original_file_path": "seeds/keyword_history_data.csv", "name": "keyword_history_data", "alias": "keyword_history_data", "checksum": {"name": "sha256", "checksum": "589c187cfa8845b5851700d6e10128a158fe860a55a4f4de7f83b1e92226bc9e"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type in ('redshift','postgres') else false }}", "column_types": {"id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "ad_group_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "advertiser_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_promotion_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "keyword_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}"}}, "created_at": 1661541213.262221, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"keyword_history_data\""}, "seed.pinterest_source_integration_tests.pin_promotion_report_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", "campaign_id": "bigint", "ad_group_id": "bigint", "pin_id": "bigint", "advertiser_id": "bigint", "pin_promotion_id": "bigint", "keyword_id": "bigint"}, "full_refresh": null, "on_schema_change": "ignore", "quote_columns": true, "post-hook": [], "pre-hook": []}, "database": "postgres", "schema": "pinterest_source_integration_tests", "fqn": ["pinterest_source_integration_tests", "pin_promotion_report_data"], "unique_id": "seed.pinterest_source_integration_tests.pin_promotion_report_data", "package_name": "pinterest_source_integration_tests", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/pinterest/dbt_pinterest_source/integration_tests", "path": "pin_promotion_report_data.csv", "original_file_path": "seeds/pin_promotion_report_data.csv", "name": "pin_promotion_report_data", "alias": "pin_promotion_report_data", "checksum": {"name": "sha256", "checksum": "925cc6b85b3db0a72f4b6caba706aca609a276e4c71786a651c0294b2cd6ad35"}, "tags": [], "refs": [], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": null, "build_path": null, "deferred": false, "unrendered_config": {"quote_columns": "{{ true if target.type in ('redshift','postgres') else false }}", "column_types": {"id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "campaign_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "ad_group_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "advertiser_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "pin_promotion_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}", "keyword_id": "{{ 'int64' if target.name == 'bigquery' else 'bigint' }}"}}, "created_at": 1661541213.263469, "compiled_sql": "", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"pin_promotion_report_data\""}, "model.pinterest_source.stg_pinterest_ads__pin_promotion_history": {"raw_sql": "{{ config(enabled=var('ad_reporting__pinterest_ads_enabled', True)) }}\n\nwith base as (\n\n select *\n from {{ ref('stg_pinterest_ads__pin_promotion_history_tmp') }}\n), \n\nfields as (\n\n select\n\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_pinterest_ads__pin_promotion_history_tmp')),\n staging_columns=get_pin_promotion_history_columns()\n )\n }}\n from base\n), \n\nfinal as (\n\n select\n id as pin_promotion_id,\n ad_group_id,\n created_time as created_at,\n destination_url,\n {{ dbt_utils.split_part('destination_url', \"'?'\", 1) }} as base_url,\n {{ dbt_utils.get_url_host('destination_url') }} as url_host,\n '/' || {{ dbt_utils.get_url_path('destination_url') }} as url_path,\n {{ dbt_utils.get_url_parameter('destination_url', 'utm_source') }} as utm_source,\n {{ dbt_utils.get_url_parameter('destination_url', 'utm_medium') }} as utm_medium,\n {{ dbt_utils.get_url_parameter('destination_url', 'utm_campaign') }} as utm_campaign,\n {{ dbt_utils.get_url_parameter('destination_url', 'utm_content') }} as utm_content,\n {{ dbt_utils.get_url_parameter('destination_url', 'utm_term') }} as utm_term,\n name as pin_name,\n pin_id,\n status as pin_status,\n creative_type,\n _fivetran_synced,\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.pinterest_source.get_pin_promotion_history_columns", "macro.fivetran_utils.fill_staging_columns", "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.pinterest_source.stg_pinterest_ads__pin_promotion_history_tmp", "model.pinterest_source.stg_pinterest_ads__pin_promotion_history_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "stg_pinterest_ads__pin_promotion_history"], "unique_id": "model.pinterest_source.stg_pinterest_ads__pin_promotion_history", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "stg_pinterest_ads__pin_promotion_history.sql", "original_file_path": "models/stg_pinterest_ads__pin_promotion_history.sql", "name": "stg_pinterest_ads__pin_promotion_history", "alias": "stg_pinterest_ads__pin_promotion_history", "checksum": {"name": "sha256", "checksum": "7d9ae411577ef8e7067d067cce4f8a2eed6b8658b16ffda0e79a118aea734331"}, "tags": [], "refs": [["stg_pinterest_ads__pin_promotion_history_tmp"], ["stg_pinterest_ads__pin_promotion_history_tmp"]], "sources": [], "description": "Each record represents a version of a Pinterest Pin promotion.", "columns": {"pin_promotion_id": {"name": "pin_promotion_id", "description": "Pin promotion ID.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_id": {"name": "ad_group_id", "description": "Pin promotion ad group ID.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "created_at": {"name": "created_at", "description": "Pin creation time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "destination_url": {"name": "destination_url", "description": "Pin destination URL.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "pin_name": {"name": "pin_name", "description": "Pin promotion name.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "pin_id": {"name": "pin_id", "description": "Original pin ID.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "pin_status": {"name": "pin_status", "description": "The status of the Pin promotion. One of \"ACTIVE\", \"ARCHIVED\", \"PAUSED\"", "meta": {}, "data_type": null, "quote": null, "tags": []}, "creative_type": {"name": "creative_type", "description": "The creative type. \nOne of \"APP\", \"APP_VIDEO\", \"BOARD\", \"CAROUSEL\", \"CINEMATIC\", \"COMMERCE\", \"MAX_VIDEO\", \"NATIVE_VIDEO\", \"REGULAR\", \n\"SEARCH_PROMINENCE\", \"SEARCH_PROMINENCE_CAROUSEL\", \"SHOPPING\", \"SHOP_THE_PIN\", \"THIRD_PARTY\", or \"VIDEO\".\n", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "is_most_recent_record": {"name": "is_most_recent_record", "description": "Boolean representing whether the record is the most recent version of the object.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "base_url": {"name": "base_url", "description": "The base URL of the ad, extracted from the `destination_url`.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "url_host": {"name": "url_host", "description": "The URL host of the ad, extracted from the `destination_url`.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "url_path": {"name": "url_path", "description": "The URL path of the ad, extracted from the `destination_url`.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "utm_source": {"name": "utm_source", "description": "The utm_source parameter of the ad, extracted from the `destination_url`.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "utm_medium": {"name": "utm_medium", "description": "The utm_medium parameter of the ad, extracted from the `destination_url`.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "utm_campaign": {"name": "utm_campaign", "description": "The utm_campaign parameter of the ad, extracted from the `destination_url`.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "utm_content": {"name": "utm_content", "description": "The utm_content parameter of the ad, extracted from the `destination_url`.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "utm_term": {"name": "utm_term", "description": "The utm_term parameter of the ad, extracted from the `destination_url`.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "pinterest_source://models/stg_pinterest_ads.yml", "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads__pin_promotion_history.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "table", "enabled": true}, "created_at": 1661541213.508412, "compiled_sql": "\n\nwith base as (\n\n select *\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__pin_promotion_history_tmp\"\n), \n\nfields as (\n\n select\n\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n ad_group_id\n \n as \n \n ad_group_id\n \n, \n cast(null as \n varchar\n) as \n \n android_deep_link\n \n , \n cast(null as \n varchar\n) as \n \n click_tracking_url\n \n , \n \n \n created_time\n \n as \n \n created_time\n \n, \n \n \n creative_type\n \n as \n \n creative_type\n \n, \n \n \n destination_url\n \n as \n \n destination_url\n \n, \n \n \n id\n \n as \n \n id\n \n, \n cast(null as \n varchar\n) as \n \n ios_deep_link\n \n , \n cast(null as boolean) as \n \n is_pin_deleted\n \n , \n cast(null as boolean) as \n \n is_removable\n \n , \n \n \n name\n \n as \n \n name\n \n, \n \n \n pin_id\n \n as \n \n pin_id\n \n, \n cast(null as \n varchar\n) as \n \n review_status\n \n , \n \n \n status\n \n as \n \n status\n \n, \n cast(null as \n timestamp without time zone\n) as \n \n updated_time\n \n , \n cast(null as \n varchar\n) as \n \n view_tracking_url\n \n \n\n\n from base\n), \n\nfinal as (\n\n select\n id as pin_promotion_id,\n ad_group_id,\n created_time as created_at,\n destination_url,\n \n\n \n \n\n split_part(\n destination_url,\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 destination_url,\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 destination_url,\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 destination_url,\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 destination_url,\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 destination_url,\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 nullif(\n\n \n \n\n split_part(\n \n\n \n \n\n split_part(\n destination_url,\n 'utm_source=',\n 2\n )\n\n\n \n\n,\n '&',\n 1\n )\n\n\n \n\n,'') as utm_source,\n nullif(\n\n \n \n\n split_part(\n \n\n \n \n\n split_part(\n destination_url,\n 'utm_medium=',\n 2\n )\n\n\n \n\n,\n '&',\n 1\n )\n\n\n \n\n,'') as utm_medium,\n nullif(\n\n \n \n\n split_part(\n \n\n \n \n\n split_part(\n destination_url,\n 'utm_campaign=',\n 2\n )\n\n\n \n\n,\n '&',\n 1\n )\n\n\n \n\n,'') as utm_campaign,\n nullif(\n\n \n \n\n split_part(\n \n\n \n \n\n split_part(\n destination_url,\n 'utm_content=',\n 2\n )\n\n\n \n\n,\n '&',\n 1\n )\n\n\n \n\n,'') as utm_content,\n nullif(\n\n \n \n\n split_part(\n \n\n \n \n\n split_part(\n destination_url,\n 'utm_term=',\n 2\n )\n\n\n \n\n,\n '&',\n 1\n )\n\n\n \n\n,'') as utm_term,\n name as pin_name,\n pin_id,\n status as pin_status,\n creative_type,\n _fivetran_synced,\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\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__pin_promotion_history\""}, "model.pinterest_source.stg_pinterest_ads__keyword_report": {"raw_sql": "{{ config(enabled=var('ad_reporting__pinterest_ads_enabled', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_pinterest_ads__keyword_report_tmp') }}\n),\n\nfields as (\n\n select\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_pinterest_ads__keyword_report_tmp')),\n staging_columns=get_keyword_report_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select\n date as date_day,\n keyword_id,\n pin_promotion_id,\n ad_group_id,\n ad_group_name,\n ad_group_status,\n campaign_id,\n advertiser_id,\n coalesce(impression_1,0) + coalesce(impression_2,0) as impressions,\n coalesce(clickthrough_1,0) + coalesce(clickthrough_2,0) as clicks,\n spend_in_micro_dollar / 1000000.0 as spend\n\n {{ fivetran_utils.fill_pass_through_columns('pinterest__keyword_report_passthrough_metrics') }}\n\n from fields\n)\n\nselect *\nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.pinterest_source.get_keyword_report_columns", "macro.fivetran_utils.fill_staging_columns", "macro.fivetran_utils.fill_pass_through_columns"], "nodes": ["model.pinterest_source.stg_pinterest_ads__keyword_report_tmp", "model.pinterest_source.stg_pinterest_ads__keyword_report_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "stg_pinterest_ads__keyword_report"], "unique_id": "model.pinterest_source.stg_pinterest_ads__keyword_report", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "stg_pinterest_ads__keyword_report.sql", "original_file_path": "models/stg_pinterest_ads__keyword_report.sql", "name": "stg_pinterest_ads__keyword_report", "alias": "stg_pinterest_ads__keyword_report", "checksum": {"name": "sha256", "checksum": "19b583252cf2397b8ee5c0fe216d3235c432f1092dd99e8f5c72b5181b6c1a7e"}, "tags": [], "refs": [["stg_pinterest_ads__keyword_report_tmp"], ["stg_pinterest_ads__keyword_report_tmp"]], "sources": [], "description": "Each record represents the daily performance of Keywords by ad group, campaign, and advertiser.", "columns": {"date_day": {"name": "date_day", "description": "The performance date of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "keyword_id": {"name": "keyword_id", "description": "Unique identifier of the keyword.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "pin_promotion_id": {"name": "pin_promotion_id", "description": "The ID of the related Pin promotion.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_id": {"name": "ad_group_id", "description": "The ID of the related Ad group.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_name": {"name": "ad_group_name", "description": "Name of the ad group.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_status": {"name": "ad_group_status", "description": "Status of the ad group.", "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": []}, "advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impressions": {"name": "impressions", "description": "The number of paid and earned impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clicks": {"name": "clicks", "description": "The number of paid and earned clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend": {"name": "spend", "description": "The amount of spend that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "pinterest_source://models/stg_pinterest_ads.yml", "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads__keyword_report.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "table", "enabled": true}, "created_at": 1661541213.5198112, "compiled_sql": "\n\nwith base as (\n\n select * \n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__keyword_report_tmp\"\n),\n\nfields as (\n\n select\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n ad_group_id\n \n as \n \n ad_group_id\n \n, \n \n \n ad_group_name\n \n as \n \n ad_group_name\n \n, \n \n \n ad_group_status\n \n as \n \n ad_group_status\n \n, \n \n \n advertiser_id\n \n as \n \n advertiser_id\n \n, \n \n \n campaign_id\n \n as \n \n campaign_id\n \n, \n \n \n clickthrough_1\n \n as \n \n clickthrough_1\n \n, \n cast(null as \n int\n) as \n \n clickthrough_2\n \n , \n \n \n date\n \n as \n \n date\n \n, \n \n \n impression_1\n \n as \n \n impression_1\n \n, \n cast(null as \n int\n) as \n \n impression_2\n \n , \n \n \n keyword_id\n \n as \n \n keyword_id\n \n, \n \n \n pin_promotion_id\n \n as \n \n pin_promotion_id\n \n, \n \n \n spend_in_micro_dollar\n \n as \n \n spend_in_micro_dollar\n \n\n\n\n from base\n),\n\nfinal as (\n \n select\n date as date_day,\n keyword_id,\n pin_promotion_id,\n ad_group_id,\n ad_group_name,\n ad_group_status,\n campaign_id,\n advertiser_id,\n coalesce(impression_1,0) + coalesce(impression_2,0) as impressions,\n coalesce(clickthrough_1,0) + coalesce(clickthrough_2,0) as clicks,\n spend_in_micro_dollar / 1000000.0 as spend\n\n \n\n\n\n\n\n from fields\n)\n\nselect *\nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__keyword_report\""}, "model.pinterest_source.stg_pinterest_ads__ad_group_report": {"raw_sql": "{{ config(enabled=var('ad_reporting__pinterest_ads_enabled', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_pinterest_ads__ad_group_report_tmp') }}\n),\n\nfields as (\n\n select\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_pinterest_ads__ad_group_report_tmp')),\n staging_columns=get_ad_group_report_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select \n date as date_day,\n ad_group_id,\n ad_group_name,\n ad_group_status,\n campaign_id,\n advertiser_id,\n coalesce(impression_1,0) + coalesce(impression_2,0) as impressions,\n coalesce(clickthrough_1,0) + coalesce(clickthrough_2,0) as clicks,\n spend_in_micro_dollar / 1000000.0 as spend\n\n {{ fivetran_utils.fill_pass_through_columns('pinterest__ad_group_report_passthrough_metrics') }}\n\n from fields\n)\n\nselect *\nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.pinterest_source.get_ad_group_report_columns", "macro.fivetran_utils.fill_staging_columns", "macro.fivetran_utils.fill_pass_through_columns"], "nodes": ["model.pinterest_source.stg_pinterest_ads__ad_group_report_tmp", "model.pinterest_source.stg_pinterest_ads__ad_group_report_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "stg_pinterest_ads__ad_group_report"], "unique_id": "model.pinterest_source.stg_pinterest_ads__ad_group_report", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "stg_pinterest_ads__ad_group_report.sql", "original_file_path": "models/stg_pinterest_ads__ad_group_report.sql", "name": "stg_pinterest_ads__ad_group_report", "alias": "stg_pinterest_ads__ad_group_report", "checksum": {"name": "sha256", "checksum": "1ec388f3fda11da46bca53634795ee60d801e0b58f7a6b413adc5b0d9a9e99d4"}, "tags": [], "refs": [["stg_pinterest_ads__ad_group_report_tmp"], ["stg_pinterest_ads__ad_group_report_tmp"]], "sources": [], "description": "Each record represents the daily performance of a Pinterest Ad Groups by campaign and advertiser.", "columns": {"date_day": {"name": "date_day", "description": "The performance date of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_id": {"name": "ad_group_id", "description": "The ID of the related Ad group.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_name": {"name": "ad_group_name", "description": "Name of the ad group.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_status": {"name": "ad_group_status", "description": "Status of the ad group.", "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": []}, "advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impressions": {"name": "impressions", "description": "The number of paid and earned impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clicks": {"name": "clicks", "description": "The number of paid and earned clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend": {"name": "spend", "description": "The amount of spend that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "pinterest_source://models/stg_pinterest_ads.yml", "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads__ad_group_report.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "table", "enabled": true}, "created_at": 1661541213.5118248, "compiled_sql": "\n\nwith base as (\n\n select * \n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__ad_group_report_tmp\"\n),\n\nfields as (\n\n select\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n ad_group_id\n \n as \n \n ad_group_id\n \n, \n \n \n ad_group_name\n \n as \n \n ad_group_name\n \n, \n \n \n ad_group_status\n \n as \n \n ad_group_status\n \n, \n \n \n advertiser_id\n \n as \n \n advertiser_id\n \n, \n \n \n campaign_id\n \n as \n \n campaign_id\n \n, \n \n \n clickthrough_1\n \n as \n \n clickthrough_1\n \n, \n cast(null as \n int\n) as \n \n clickthrough_2\n \n , \n \n \n date\n \n as \n \n date\n \n, \n \n \n impression_1\n \n as \n \n impression_1\n \n, \n cast(null as \n int\n) as \n \n impression_2\n \n , \n \n \n spend_in_micro_dollar\n \n as \n \n spend_in_micro_dollar\n \n\n\n\n from base\n),\n\nfinal as (\n \n select \n date as date_day,\n ad_group_id,\n ad_group_name,\n ad_group_status,\n campaign_id,\n advertiser_id,\n coalesce(impression_1,0) + coalesce(impression_2,0) as impressions,\n coalesce(clickthrough_1,0) + coalesce(clickthrough_2,0) as clicks,\n spend_in_micro_dollar / 1000000.0 as spend\n\n \n\n\n\n\n\n from fields\n)\n\nselect *\nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__ad_group_report\""}, "model.pinterest_source.stg_pinterest_ads__campaign_history": {"raw_sql": "{{ config(enabled=var('ad_reporting__pinterest_ads_enabled', True)) }}\n\nwith base as (\n\n select *\n from {{ ref('stg_pinterest_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_pinterest_ads__campaign_history_tmp')),\n staging_columns=get_campaign_history_columns()\n )\n }}\n from base\n), \n\nfinal as (\n\n select \n id as campaign_id,\n name as campaign_name,\n advertiser_id,\n status as campaign_status,\n _fivetran_synced,\n created_time as created_at,\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.pinterest_source.get_campaign_history_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.pinterest_source.stg_pinterest_ads__campaign_history_tmp", "model.pinterest_source.stg_pinterest_ads__campaign_history_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "stg_pinterest_ads__campaign_history"], "unique_id": "model.pinterest_source.stg_pinterest_ads__campaign_history", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "stg_pinterest_ads__campaign_history.sql", "original_file_path": "models/stg_pinterest_ads__campaign_history.sql", "name": "stg_pinterest_ads__campaign_history", "alias": "stg_pinterest_ads__campaign_history", "checksum": {"name": "sha256", "checksum": "945f535a560d134e94225647469d1cfbe295ed547b84be7af6575b9d86d4baa0"}, "tags": [], "refs": [["stg_pinterest_ads__campaign_history_tmp"], ["stg_pinterest_ads__campaign_history_tmp"]], "sources": [], "description": "Each record represents a version of a Pinterest Campaign.", "columns": {"campaign_id": {"name": "campaign_id", "description": "The ID of the related Campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "created_at": {"name": "created_at", "description": "Campaign creation time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_name": {"name": "campaign_name", "description": "Campaign name.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_status": {"name": "campaign_status", "description": "The status of the Campaign. One of \"ACTIVE\", \"ARCHIVED\", \"PAUSED\"", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "is_most_recent_record": {"name": "is_most_recent_record", "description": "Boolean representing whether the record is the most recent version of the object.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "pinterest_source://models/stg_pinterest_ads.yml", "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads__campaign_history.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "table", "enabled": true}, "created_at": 1661541213.50562, "compiled_sql": "\n\nwith base as (\n\n select *\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__campaign_history_tmp\"\n), \n\nfields as (\n\n select\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n created_time\n \n as \n \n created_time\n \n, \n \n \n id\n \n as \n \n id\n \n, \n \n \n advertiser_id\n \n as \n \n advertiser_id\n \n, \n \n \n name\n \n as \n \n name\n \n, \n \n \n status\n \n as \n \n status\n \n\n\n\n from base\n), \n\nfinal as (\n\n select \n id as campaign_id,\n name as campaign_name,\n advertiser_id,\n status as campaign_status,\n _fivetran_synced,\n created_time as created_at,\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\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__campaign_history\""}, "model.pinterest_source.stg_pinterest_ads__advertiser_report": {"raw_sql": "{{ config(enabled=var('ad_reporting__pinterest_ads_enabled', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_pinterest_ads__advertiser_report_tmp') }}\n),\n\nfields as (\n\n select\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_pinterest_ads__advertiser_report_tmp')),\n staging_columns=get_advertiser_report_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select \n date as date_day,\n advertiser_id,\n coalesce(impression_1,0) + coalesce(impression_2,0) as impressions,\n coalesce(clickthrough_1,0) + coalesce(clickthrough_2,0) as clicks,\n spend_in_micro_dollar / 1000000.0 as spend\n\n {{ fivetran_utils.fill_pass_through_columns('pinterest__advertiser_report_passthrough_metrics') }}\n\n from fields\n)\n\nselect *\nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.pinterest_source.get_advertiser_report_columns", "macro.fivetran_utils.fill_staging_columns", "macro.fivetran_utils.fill_pass_through_columns"], "nodes": ["model.pinterest_source.stg_pinterest_ads__advertiser_report_tmp", "model.pinterest_source.stg_pinterest_ads__advertiser_report_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "stg_pinterest_ads__advertiser_report"], "unique_id": "model.pinterest_source.stg_pinterest_ads__advertiser_report", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "stg_pinterest_ads__advertiser_report.sql", "original_file_path": "models/stg_pinterest_ads__advertiser_report.sql", "name": "stg_pinterest_ads__advertiser_report", "alias": "stg_pinterest_ads__advertiser_report", "checksum": {"name": "sha256", "checksum": "6ea832c12ae01417da77d6014f0b59c904c3d2d4b3f46ea7177bb67e75c738ea"}, "tags": [], "refs": [["stg_pinterest_ads__advertiser_report_tmp"], ["stg_pinterest_ads__advertiser_report_tmp"]], "sources": [], "description": "Each record represents the daily performance of an Advertiser.", "columns": {"date_day": {"name": "date_day", "description": "The performance date of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impressions": {"name": "impressions", "description": "The number of paid and earned impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clicks": {"name": "clicks", "description": "The number of paid and earned clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend": {"name": "spend", "description": "The amount of spend that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "pinterest_source://models/stg_pinterest_ads.yml", "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads__advertiser_report.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "table", "enabled": true}, "created_at": 1661541213.514786, "compiled_sql": "\n\nwith base as (\n\n select * \n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__advertiser_report_tmp\"\n),\n\nfields as (\n\n select\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n advertiser_id\n \n as \n \n advertiser_id\n \n, \n \n \n clickthrough_1\n \n as \n \n clickthrough_1\n \n, \n cast(null as \n int\n) as \n \n clickthrough_2\n \n , \n \n \n date\n \n as \n \n date\n \n, \n \n \n impression_1\n \n as \n \n impression_1\n \n, \n cast(null as \n int\n) as \n \n impression_2\n \n , \n \n \n spend_in_micro_dollar\n \n as \n \n spend_in_micro_dollar\n \n\n\n\n from base\n),\n\nfinal as (\n \n select \n date as date_day,\n advertiser_id,\n coalesce(impression_1,0) + coalesce(impression_2,0) as impressions,\n coalesce(clickthrough_1,0) + coalesce(clickthrough_2,0) as clicks,\n spend_in_micro_dollar / 1000000.0 as spend\n\n \n\n\n\n\n\n from fields\n)\n\nselect *\nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__advertiser_report\""}, "model.pinterest_source.stg_pinterest_ads__advertiser_history": {"raw_sql": "{{ config(enabled=var('ad_reporting__pinterest_ads_enabled', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_pinterest_ads__advertiser_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_pinterest_ads__advertiser_history_tmp')),\n staging_columns=get_advertiser_history_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select \n id as advertiser_id,\n name as advertiser_name,\n status as advertiser_status,\n billing_profile_status,\n billing_type,\n country,\n created_time as created_at,\n currency as currency_code,\n merchant_id,\n owner_user_id,\n updated_time as updated_at,\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.pinterest_source.get_advertiser_history_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.pinterest_source.stg_pinterest_ads__advertiser_history_tmp", "model.pinterest_source.stg_pinterest_ads__advertiser_history_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "stg_pinterest_ads__advertiser_history"], "unique_id": "model.pinterest_source.stg_pinterest_ads__advertiser_history", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "stg_pinterest_ads__advertiser_history.sql", "original_file_path": "models/stg_pinterest_ads__advertiser_history.sql", "name": "stg_pinterest_ads__advertiser_history", "alias": "stg_pinterest_ads__advertiser_history", "checksum": {"name": "sha256", "checksum": "c373922dcac412d7b7290ec100cdf341ca19176968c29f240be32e7acd0ca7d9"}, "tags": [], "refs": [["stg_pinterest_ads__advertiser_history_tmp"], ["stg_pinterest_ads__advertiser_history_tmp"]], "sources": [], "description": "Each record represents a version of an advertiser.", "columns": {"advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "advertiser_name": {"name": "advertiser_name", "description": "Name of the advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "advertiser_status": {"name": "advertiser_status", "description": "Status of the advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "billing_profile_status": {"name": "billing_profile_status", "description": "Status of the billing profile.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "billing_type": {"name": "billing_type", "description": "The billing type of the advertiser. Will typically be CREDIT_CARD or INVOICE.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "country": {"name": "country", "description": "The country code where the advertiser is located.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "created_at": {"name": "created_at", "description": "Timestamp of when a record was created.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "currency_code": {"name": "currency_code", "description": "The currency code which the advertiser is set up using.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "merchant_id": {"name": "merchant_id", "description": "Unique ID of the merchant associated with the advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "owner_user_id": {"name": "owner_user_id", "description": "Unique identifier of the owner user.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "updated_at": {"name": "updated_at", "description": "Timestamp of when a record was last updated.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "is_most_recent_record": {"name": "is_most_recent_record", "description": "Boolean representing whether the record is the most recent version of the object.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "pinterest_source://models/stg_pinterest_ads.yml", "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads__advertiser_history.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "table", "enabled": true}, "created_at": 1661541213.5137842, "compiled_sql": "\n\nwith base as (\n\n select * \n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__advertiser_history_tmp\"\n),\n\nfields as (\n\n select\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n billing_profile_status\n \n as \n \n billing_profile_status\n \n, \n \n \n billing_type\n \n as \n \n billing_type\n \n, \n \n \n country\n \n as \n \n country\n \n, \n \n \n created_time\n \n as \n \n created_time\n \n, \n \n \n currency\n \n as \n \n currency\n \n, \n \n \n id\n \n as \n \n id\n \n, \n \n \n merchant_id\n \n as \n \n merchant_id\n \n, \n \n \n name\n \n as \n \n name\n \n, \n \n \n owner_user_id\n \n as \n \n owner_user_id\n \n, \n \n \n status\n \n as \n \n status\n \n, \n \n \n updated_time\n \n as \n \n updated_time\n \n\n\n\n from base\n),\n\nfinal as (\n \n select \n id as advertiser_id,\n name as advertiser_name,\n status as advertiser_status,\n billing_profile_status,\n billing_type,\n country,\n created_time as created_at,\n currency as currency_code,\n merchant_id,\n owner_user_id,\n updated_time as updated_at,\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\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__advertiser_history\""}, "model.pinterest_source.stg_pinterest_ads__campaign_report": {"raw_sql": "{{ config(enabled=var('ad_reporting__pinterest_ads_enabled', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_pinterest_ads__campaign_report_tmp') }}\n),\n\nfields as (\n\n select\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_pinterest_ads__campaign_report_tmp')),\n staging_columns=get_campaign_report_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select \n date as date_day,\n campaign_id,\n campaign_name,\n campaign_status,\n advertiser_id,\n coalesce(impression_1,0) + coalesce(impression_2,0) as impressions,\n coalesce(clickthrough_1,0) + coalesce(clickthrough_2,0) as clicks,\n spend_in_micro_dollar / 1000000.0 as spend\n\n {{ fivetran_utils.fill_pass_through_columns('pinterest__campaign_report_passthrough_metrics') }}\n\n from fields\n)\n\nselect *\nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.pinterest_source.get_campaign_report_columns", "macro.fivetran_utils.fill_staging_columns", "macro.fivetran_utils.fill_pass_through_columns"], "nodes": ["model.pinterest_source.stg_pinterest_ads__campaign_report_tmp", "model.pinterest_source.stg_pinterest_ads__campaign_report_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "stg_pinterest_ads__campaign_report"], "unique_id": "model.pinterest_source.stg_pinterest_ads__campaign_report", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "stg_pinterest_ads__campaign_report.sql", "original_file_path": "models/stg_pinterest_ads__campaign_report.sql", "name": "stg_pinterest_ads__campaign_report", "alias": "stg_pinterest_ads__campaign_report", "checksum": {"name": "sha256", "checksum": "47ea0a3987a107969fd57d4ae3b3e255c113b23179e061efd70a8dbdb124ad5e"}, "tags": [], "refs": [["stg_pinterest_ads__campaign_report_tmp"], ["stg_pinterest_ads__campaign_report_tmp"]], "sources": [], "description": "Each record represents the daily performance of Campaigns by advertiser.", "columns": {"date_day": {"name": "date_day", "description": "The performance date of the record.", "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": "Name of the campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_status": {"name": "campaign_status", "description": "Status of the campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impressions": {"name": "impressions", "description": "The number of paid and earned impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clicks": {"name": "clicks", "description": "The number of paid and earned clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend": {"name": "spend", "description": "The amount of spend that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "pinterest_source://models/stg_pinterest_ads.yml", "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads__campaign_report.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "table", "enabled": true}, "created_at": 1661541213.516202, "compiled_sql": "\n\nwith base as (\n\n select * \n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__campaign_report_tmp\"\n),\n\nfields as (\n\n select\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n advertiser_id\n \n as \n \n advertiser_id\n \n, \n \n \n campaign_id\n \n as \n \n campaign_id\n \n, \n \n \n campaign_name\n \n as \n \n campaign_name\n \n, \n \n \n campaign_status\n \n as \n \n campaign_status\n \n, \n \n \n clickthrough_1\n \n as \n \n clickthrough_1\n \n, \n cast(null as \n int\n) as \n \n clickthrough_2\n \n , \n \n \n date\n \n as \n \n date\n \n, \n \n \n impression_1\n \n as \n \n impression_1\n \n, \n cast(null as \n int\n) as \n \n impression_2\n \n , \n \n \n spend_in_micro_dollar\n \n as \n \n spend_in_micro_dollar\n \n\n\n\n from base\n),\n\nfinal as (\n \n select \n date as date_day,\n campaign_id,\n campaign_name,\n campaign_status,\n advertiser_id,\n coalesce(impression_1,0) + coalesce(impression_2,0) as impressions,\n coalesce(clickthrough_1,0) + coalesce(clickthrough_2,0) as clicks,\n spend_in_micro_dollar / 1000000.0 as spend\n\n \n\n\n\n\n\n from fields\n)\n\nselect *\nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__campaign_report\""}, "model.pinterest_source.stg_pinterest_ads__keyword_history": {"raw_sql": "{{ config(enabled=var('ad_reporting__pinterest_ads_enabled', True)) }}\n\nwith base as (\n\n select * \n from {{ ref('stg_pinterest_ads__keyword_history_tmp') }}\n),\n\nfields as (\n\n select\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_pinterest_ads__keyword_history_tmp')),\n staging_columns=get_keyword_history_columns()\n )\n }}\n from base\n),\n\nfinal as (\n \n select\n id as keyword_id,\n value as keyword_value,\n _fivetran_id,\n _fivetran_synced,\n ad_group_id,\n advertiser_id,\n archived,\n bid,\n campaign_id,\n match_type,\n parent_type,\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.pinterest_source.get_keyword_history_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.pinterest_source.stg_pinterest_ads__keyword_history_tmp", "model.pinterest_source.stg_pinterest_ads__keyword_history_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "stg_pinterest_ads__keyword_history"], "unique_id": "model.pinterest_source.stg_pinterest_ads__keyword_history", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "stg_pinterest_ads__keyword_history.sql", "original_file_path": "models/stg_pinterest_ads__keyword_history.sql", "name": "stg_pinterest_ads__keyword_history", "alias": "stg_pinterest_ads__keyword_history", "checksum": {"name": "sha256", "checksum": "8b3313f6551f5e5a8929436411869bcd40e86fdcf8093d1158ac4ccbb75a063d"}, "tags": [], "refs": [["stg_pinterest_ads__keyword_history_tmp"], ["stg_pinterest_ads__keyword_history_tmp"]], "sources": [], "description": "Each record represents the daily performance of a Keyword.", "columns": {"keyword_id": {"name": "keyword_id", "description": "Unique identifier of the keyword.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "keyword_value": {"name": "keyword_value", "description": "The text value that makes upd the keyword.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_id": {"name": "_fivetran_id", "description": "The unique identifier of the record within the Fivetran synced table.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_id": {"name": "ad_group_id", "description": "The ID of the related Ad group.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "archived": {"name": "archived", "description": "Boolean indicating if the keyword is archived.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "bid": {"name": "bid", "description": "Bid amount set for the keyword.", "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": []}, "match_type": {"name": "match_type", "description": "Type of match the keyword is tied to. Either Exact or Broad.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "parent_type": {"name": "parent_type", "description": "Identifier of what grain the parent type is. Ad group or campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "is_most_recent_record": {"name": "is_most_recent_record", "description": "Boolean representing whether the record is the most recent version of the object.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "pinterest_source://models/stg_pinterest_ads.yml", "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads__keyword_history.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "table", "enabled": true}, "created_at": 1661541213.51808, "compiled_sql": "\n\nwith base as (\n\n select * \n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__keyword_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 ad_group_id\n \n as \n \n ad_group_id\n \n, \n \n \n advertiser_id\n \n as \n \n advertiser_id\n \n, \n \n \n archived\n \n as \n \n archived\n \n, \n \n \n bid\n \n as \n \n bid\n \n, \n \n \n campaign_id\n \n as \n \n campaign_id\n \n, \n \n \n id\n \n as \n \n id\n \n, \n \n \n match_type\n \n as \n \n match_type\n \n, \n \n \n parent_type\n \n as \n \n parent_type\n \n, \n \n \n value\n \n as \n \n value\n \n\n\n\n from base\n),\n\nfinal as (\n \n select\n id as keyword_id,\n value as keyword_value,\n _fivetran_id,\n _fivetran_synced,\n ad_group_id,\n advertiser_id,\n archived,\n bid,\n campaign_id,\n match_type,\n parent_type,\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\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__keyword_history\""}, "model.pinterest_source.stg_pinterest_ads__pin_promotion_report": {"raw_sql": "{{ config(enabled=var('ad_reporting__pinterest_ads_enabled', True)) }}\n\nwith base as (\n\n select *\n from {{ ref('stg_pinterest_ads__pin_promotion_report_tmp') }}\n), \n\nfields as (\n\n select\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_pinterest_ads__pin_promotion_report_tmp')),\n staging_columns=get_pin_promotion_report_columns()\n )\n }}\n from base\n), \n\nfinal as (\n\n select \n date as date_day,\n pin_promotion_id,\n ad_group_id,\n campaign_id,\n advertiser_id,\n coalesce(impression_1,0) + coalesce(impression_2,0) as impressions,\n coalesce(clickthrough_1,0) + coalesce(clickthrough_2,0) as clicks,\n spend_in_micro_dollar / 1000000.0 as spend\n\n {{ fivetran_utils.fill_pass_through_columns('pinterest__pin_promotion_report_passthrough_metrics') }}\n\n from fields\n)\n\nselect *\nfrom final", "compiled": true, "resource_type": "model", "depends_on": {"macros": ["macro.pinterest_source.get_pin_promotion_report_columns", "macro.fivetran_utils.fill_staging_columns", "macro.fivetran_utils.fill_pass_through_columns"], "nodes": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_report_tmp", "model.pinterest_source.stg_pinterest_ads__pin_promotion_report_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "stg_pinterest_ads__pin_promotion_report"], "unique_id": "model.pinterest_source.stg_pinterest_ads__pin_promotion_report", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "stg_pinterest_ads__pin_promotion_report.sql", "original_file_path": "models/stg_pinterest_ads__pin_promotion_report.sql", "name": "stg_pinterest_ads__pin_promotion_report", "alias": "stg_pinterest_ads__pin_promotion_report", "checksum": {"name": "sha256", "checksum": "19a818865806baa6ce94fb72adf23cf719a6e9ca0117f03096a3fba376b61660"}, "tags": [], "refs": [["stg_pinterest_ads__pin_promotion_report_tmp"], ["stg_pinterest_ads__pin_promotion_report_tmp"]], "sources": [], "description": "Each record represents the daily performance of a Pinterest Pin promotion by ad group, campaign, and advertiser.", "columns": {"date_day": {"name": "date_day", "description": "The performance date of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "pin_promotion_id": {"name": "pin_promotion_id", "description": "The ID of the related Pin promotion.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_id": {"name": "ad_group_id", "description": "The ID of the related Ad group.", "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": []}, "advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impressions": {"name": "impressions", "description": "The number of paid and earned impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clicks": {"name": "clicks", "description": "The number of paid and earned clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend": {"name": "spend", "description": "The amount of spend that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "pinterest_source://models/stg_pinterest_ads.yml", "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads__pin_promotion_report.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "table", "enabled": true}, "created_at": 1661541213.5099142, "compiled_sql": "\n\nwith base as (\n\n select *\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__pin_promotion_report_tmp\"\n), \n\nfields as (\n\n select\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n ad_group_id\n \n as \n \n ad_group_id\n \n, \n \n \n advertiser_id\n \n as \n \n advertiser_id\n \n, \n \n \n campaign_id\n \n as \n \n campaign_id\n \n, \n \n \n clickthrough_1\n \n as \n \n clickthrough_1\n \n, \n \n \n clickthrough_2\n \n as \n \n clickthrough_2\n \n, \n \n \n date\n \n as \n \n date\n \n, \n \n \n impression_1\n \n as \n \n impression_1\n \n, \n \n \n impression_2\n \n as \n \n impression_2\n \n, \n \n \n pin_promotion_id\n \n as \n \n pin_promotion_id\n \n, \n \n \n spend_in_micro_dollar\n \n as \n \n spend_in_micro_dollar\n \n\n\n\n from base\n), \n\nfinal as (\n\n select \n date as date_day,\n pin_promotion_id,\n ad_group_id,\n campaign_id,\n advertiser_id,\n coalesce(impression_1,0) + coalesce(impression_2,0) as impressions,\n coalesce(clickthrough_1,0) + coalesce(clickthrough_2,0) as clicks,\n spend_in_micro_dollar / 1000000.0 as spend\n\n \n\n\n\n\n\n from fields\n)\n\nselect *\nfrom final", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__pin_promotion_report\""}, "model.pinterest_source.stg_pinterest_ads__ad_group_history": {"raw_sql": "{{ config(enabled=var('ad_reporting__pinterest_ads_enabled', True)) }}\n\nwith base as (\n\n select *\n from {{ ref('stg_pinterest_ads__ad_group_history_tmp') }}\n), \n\nfields as (\n\n select\n {{\n fivetran_utils.fill_staging_columns(\n source_columns=adapter.get_columns_in_relation(ref('stg_pinterest_ads__ad_group_history_tmp')),\n staging_columns=get_ad_group_history_columns()\n )\n }}\n from base\n), \n\nfinal as (\n\n select \n id as ad_group_id,\n name as ad_group_name,\n status as ad_group_status,\n _fivetran_synced,\n campaign_id,\n created_time as created_at,\n end_time,\n start_time,\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.pinterest_source.get_ad_group_history_columns", "macro.fivetran_utils.fill_staging_columns"], "nodes": ["model.pinterest_source.stg_pinterest_ads__ad_group_history_tmp", "model.pinterest_source.stg_pinterest_ads__ad_group_history_tmp"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "stg_pinterest_ads__ad_group_history"], "unique_id": "model.pinterest_source.stg_pinterest_ads__ad_group_history", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "stg_pinterest_ads__ad_group_history.sql", "original_file_path": "models/stg_pinterest_ads__ad_group_history.sql", "name": "stg_pinterest_ads__ad_group_history", "alias": "stg_pinterest_ads__ad_group_history", "checksum": {"name": "sha256", "checksum": "3fc611eb025a550beebacb144b8fd5b95070cc7d212cdc73029b5e2132272902"}, "tags": [], "refs": [["stg_pinterest_ads__ad_group_history_tmp"], ["stg_pinterest_ads__ad_group_history_tmp"]], "sources": [], "description": "Each record represents a version of a Pinterest Ad Group.", "columns": {"ad_group_id": {"name": "ad_group_id", "description": "Ad group ID.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_id": {"name": "campaign_id", "description": "Parent Campaign ID.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "created_at": {"name": "created_at", "description": "Ad group creation time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_name": {"name": "ad_group_name", "description": "Ad group name.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_status": {"name": "ad_group_status", "description": "The status of the Ad group. One of \"ACTIVE\", \"ARCHIVED\", \"PAUSED\"", "meta": {}, "data_type": null, "quote": null, "tags": []}, "start_time": {"name": "start_time", "description": "Ad group start time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "end_time": {"name": "end_time", "description": "Ad group end time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "is_most_recent_record": {"name": "is_most_recent_record", "description": "Boolean representing whether the record is the most recent version of the object.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "docs": {"show": true}, "patch_path": "pinterest_source://models/stg_pinterest_ads.yml", "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads__ad_group_history.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "table", "enabled": true}, "created_at": 1661541213.504182, "compiled_sql": "\n\nwith base as (\n\n select *\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__ad_group_history_tmp\"\n), \n\nfields as (\n\n select\n \n \n \n _fivetran_synced\n \n as \n \n _fivetran_synced\n \n, \n \n \n campaign_id\n \n as \n \n campaign_id\n \n, \n \n \n created_time\n \n as \n \n created_time\n \n, \n \n \n end_time\n \n as \n \n end_time\n \n, \n \n \n id\n \n as \n \n id\n \n, \n \n \n name\n \n as \n \n name\n \n, \n \n \n start_time\n \n as \n \n start_time\n \n, \n \n \n status\n \n as \n \n status\n \n\n\n\n from base\n), \n\nfinal as (\n\n select \n id as ad_group_id,\n name as ad_group_name,\n status as ad_group_status,\n _fivetran_synced,\n campaign_id,\n created_time as created_at,\n end_time,\n start_time,\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\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__ad_group_history\""}, "model.pinterest_source.stg_pinterest_ads__advertiser_history_tmp": {"raw_sql": "{{ config(enabled=var('ad_reporting__pinterest_ads_enabled', True)) }}\n\nselect * \nfrom {{ var('advertiser_history') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.pinterest_source.pinterest_ads.advertiser_history"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "tmp", "stg_pinterest_ads__advertiser_history_tmp"], "unique_id": "model.pinterest_source.stg_pinterest_ads__advertiser_history_tmp", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "tmp/stg_pinterest_ads__advertiser_history_tmp.sql", "original_file_path": "models/tmp/stg_pinterest_ads__advertiser_history_tmp.sql", "name": "stg_pinterest_ads__advertiser_history_tmp", "alias": "stg_pinterest_ads__advertiser_history_tmp", "checksum": {"name": "sha256", "checksum": "30228e737c74f3502de539edf195e6ac0f1bc20d81b4625f2a7d38b7b444e025"}, "tags": [], "refs": [], "sources": [["pinterest_ads", "advertiser_history"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/tmp/stg_pinterest_ads__advertiser_history_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "view", "enabled": true}, "created_at": 1661541213.416954, "compiled_sql": "\n\nselect * \nfrom \"postgres\".\"pinterest_source_integration_tests\".\"advertiser_history_data\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__advertiser_history_tmp\""}, "model.pinterest_source.stg_pinterest_ads__pin_promotion_report_tmp": {"raw_sql": "{{ config(enabled=var('ad_reporting__pinterest_ads_enabled', True)) }}\n\nselect *\nfrom {{ var('pin_promotion_report') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.pinterest_source.pinterest_ads.pin_promotion_report"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "tmp", "stg_pinterest_ads__pin_promotion_report_tmp"], "unique_id": "model.pinterest_source.stg_pinterest_ads__pin_promotion_report_tmp", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "tmp/stg_pinterest_ads__pin_promotion_report_tmp.sql", "original_file_path": "models/tmp/stg_pinterest_ads__pin_promotion_report_tmp.sql", "name": "stg_pinterest_ads__pin_promotion_report_tmp", "alias": "stg_pinterest_ads__pin_promotion_report_tmp", "checksum": {"name": "sha256", "checksum": "055e6b22a0ebf3ae5ebc592a2d59fde23e9c4aa97307e7bc9d07fdd564d29318"}, "tags": [], "refs": [], "sources": [["pinterest_ads", "pin_promotion_report"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/tmp/stg_pinterest_ads__pin_promotion_report_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "view", "enabled": true}, "created_at": 1661541213.4214962, "compiled_sql": "\n\nselect *\nfrom \"postgres\".\"pinterest_source_integration_tests\".\"pin_promotion_report_data\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__pin_promotion_report_tmp\""}, "model.pinterest_source.stg_pinterest_ads__campaign_report_tmp": {"raw_sql": "{{ config(enabled=var('ad_reporting__pinterest_ads_enabled', True)) }}\n\nselect * \nfrom {{ var('campaign_report') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.pinterest_source.pinterest_ads.campaign_report"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "tmp", "stg_pinterest_ads__campaign_report_tmp"], "unique_id": "model.pinterest_source.stg_pinterest_ads__campaign_report_tmp", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "tmp/stg_pinterest_ads__campaign_report_tmp.sql", "original_file_path": "models/tmp/stg_pinterest_ads__campaign_report_tmp.sql", "name": "stg_pinterest_ads__campaign_report_tmp", "alias": "stg_pinterest_ads__campaign_report_tmp", "checksum": {"name": "sha256", "checksum": "297b62832ce1e1cf4ec432c98f64696ae82b6d5461ba9a6991f9143d8680600e"}, "tags": [], "refs": [], "sources": [["pinterest_ads", "campaign_report"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/tmp/stg_pinterest_ads__campaign_report_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "view", "enabled": true}, "created_at": 1661541213.425584, "compiled_sql": "\n\nselect * \nfrom \"postgres\".\"pinterest_source_integration_tests\".\"campaign_report_data\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__campaign_report_tmp\""}, "model.pinterest_source.stg_pinterest_ads__advertiser_report_tmp": {"raw_sql": "{{ config(enabled=var('ad_reporting__pinterest_ads_enabled', True)) }}\n\nselect * \nfrom {{ var('advertiser_report') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.pinterest_source.pinterest_ads.advertiser_report"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "tmp", "stg_pinterest_ads__advertiser_report_tmp"], "unique_id": "model.pinterest_source.stg_pinterest_ads__advertiser_report_tmp", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "tmp/stg_pinterest_ads__advertiser_report_tmp.sql", "original_file_path": "models/tmp/stg_pinterest_ads__advertiser_report_tmp.sql", "name": "stg_pinterest_ads__advertiser_report_tmp", "alias": "stg_pinterest_ads__advertiser_report_tmp", "checksum": {"name": "sha256", "checksum": "51f6279568da2b328c230e1141b82a8d4cf23f0db1d71797da244ba0f850f80c"}, "tags": [], "refs": [], "sources": [["pinterest_ads", "advertiser_report"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/tmp/stg_pinterest_ads__advertiser_report_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "view", "enabled": true}, "created_at": 1661541213.42995, "compiled_sql": "\n\nselect * \nfrom \"postgres\".\"pinterest_source_integration_tests\".\"advertiser_report_data\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__advertiser_report_tmp\""}, "model.pinterest_source.stg_pinterest_ads__keyword_report_tmp": {"raw_sql": "{{ config(enabled=var('ad_reporting__pinterest_ads_enabled', True)) }}\n\nselect * \nfrom {{ var('keyword_report') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.pinterest_source.pinterest_ads.keyword_report"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "tmp", "stg_pinterest_ads__keyword_report_tmp"], "unique_id": "model.pinterest_source.stg_pinterest_ads__keyword_report_tmp", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "tmp/stg_pinterest_ads__keyword_report_tmp.sql", "original_file_path": "models/tmp/stg_pinterest_ads__keyword_report_tmp.sql", "name": "stg_pinterest_ads__keyword_report_tmp", "alias": "stg_pinterest_ads__keyword_report_tmp", "checksum": {"name": "sha256", "checksum": "8d5de2659df4d8c7f106988e098aad658de1e0df637686bc39641dbfd58528ab"}, "tags": [], "refs": [], "sources": [["pinterest_ads", "keyword_report"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/tmp/stg_pinterest_ads__keyword_report_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "view", "enabled": true}, "created_at": 1661541213.4336882, "compiled_sql": "\n\nselect * \nfrom \"postgres\".\"pinterest_source_integration_tests\".\"keyword_report_data\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__keyword_report_tmp\""}, "model.pinterest_source.stg_pinterest_ads__ad_group_report_tmp": {"raw_sql": "{{ config(enabled=var('ad_reporting__pinterest_ads_enabled', True)) }}\n\nselect * \nfrom {{ var('ad_group_report') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.pinterest_source.pinterest_ads.ad_group_report"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "tmp", "stg_pinterest_ads__ad_group_report_tmp"], "unique_id": "model.pinterest_source.stg_pinterest_ads__ad_group_report_tmp", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "tmp/stg_pinterest_ads__ad_group_report_tmp.sql", "original_file_path": "models/tmp/stg_pinterest_ads__ad_group_report_tmp.sql", "name": "stg_pinterest_ads__ad_group_report_tmp", "alias": "stg_pinterest_ads__ad_group_report_tmp", "checksum": {"name": "sha256", "checksum": "416b2ba76c7422ae9d0cc9027cfda76b1461ead0158a8cc3d7bcec5765fa7fa4"}, "tags": [], "refs": [], "sources": [["pinterest_ads", "ad_group_report"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/tmp/stg_pinterest_ads__ad_group_report_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "view", "enabled": true}, "created_at": 1661541213.4371688, "compiled_sql": "\n\nselect * \nfrom \"postgres\".\"pinterest_source_integration_tests\".\"ad_group_report_data\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__ad_group_report_tmp\""}, "model.pinterest_source.stg_pinterest_ads__keyword_history_tmp": {"raw_sql": "{{ config(enabled=var('ad_reporting__pinterest_ads_enabled', True)) }}\n\nselect * \nfrom {{ var('keyword_history') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.pinterest_source.pinterest_ads.keyword_history"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "tmp", "stg_pinterest_ads__keyword_history_tmp"], "unique_id": "model.pinterest_source.stg_pinterest_ads__keyword_history_tmp", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "tmp/stg_pinterest_ads__keyword_history_tmp.sql", "original_file_path": "models/tmp/stg_pinterest_ads__keyword_history_tmp.sql", "name": "stg_pinterest_ads__keyword_history_tmp", "alias": "stg_pinterest_ads__keyword_history_tmp", "checksum": {"name": "sha256", "checksum": "7fbf43157af6c11490590879cc6abd74a981291eaa179873d44ee6517d058272"}, "tags": [], "refs": [], "sources": [["pinterest_ads", "keyword_history"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/tmp/stg_pinterest_ads__keyword_history_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "view", "enabled": true}, "created_at": 1661541213.4402711, "compiled_sql": "\n\nselect * \nfrom \"postgres\".\"pinterest_source_integration_tests\".\"keyword_history_data\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__keyword_history_tmp\""}, "model.pinterest_source.stg_pinterest_ads__campaign_history_tmp": {"raw_sql": "{{ config(enabled=var('ad_reporting__pinterest_ads_enabled', True)) }}\n\nselect *\nfrom {{ var('campaign_history') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.pinterest_source.pinterest_ads.campaign_history"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "tmp", "stg_pinterest_ads__campaign_history_tmp"], "unique_id": "model.pinterest_source.stg_pinterest_ads__campaign_history_tmp", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "tmp/stg_pinterest_ads__campaign_history_tmp.sql", "original_file_path": "models/tmp/stg_pinterest_ads__campaign_history_tmp.sql", "name": "stg_pinterest_ads__campaign_history_tmp", "alias": "stg_pinterest_ads__campaign_history_tmp", "checksum": {"name": "sha256", "checksum": "6b6e9567363f5912e8f6c2f8547e79e160a7e998dbfb2ac6fe193c73949b9163"}, "tags": [], "refs": [], "sources": [["pinterest_ads", "campaign_history"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/tmp/stg_pinterest_ads__campaign_history_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "view", "enabled": true}, "created_at": 1661541213.4488819, "compiled_sql": "\n\nselect *\nfrom \"postgres\".\"pinterest_source_integration_tests\".\"campaign_history_data\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__campaign_history_tmp\""}, "model.pinterest_source.stg_pinterest_ads__ad_group_history_tmp": {"raw_sql": "{{ config(enabled=var('ad_reporting__pinterest_ads_enabled', True)) }}\n\nselect *\nfrom {{ var('ad_group_history') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.pinterest_source.pinterest_ads.ad_group_history"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "tmp", "stg_pinterest_ads__ad_group_history_tmp"], "unique_id": "model.pinterest_source.stg_pinterest_ads__ad_group_history_tmp", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "tmp/stg_pinterest_ads__ad_group_history_tmp.sql", "original_file_path": "models/tmp/stg_pinterest_ads__ad_group_history_tmp.sql", "name": "stg_pinterest_ads__ad_group_history_tmp", "alias": "stg_pinterest_ads__ad_group_history_tmp", "checksum": {"name": "sha256", "checksum": "781c3dac60c7fc9e9f08f8ad4fce2e5fec42b09036486e24814e717cec4b4ce3"}, "tags": [], "refs": [], "sources": [["pinterest_ads", "ad_group_history"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/tmp/stg_pinterest_ads__ad_group_history_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "view", "enabled": true}, "created_at": 1661541213.461138, "compiled_sql": "\n\nselect *\nfrom \"postgres\".\"pinterest_source_integration_tests\".\"ad_group_history_data\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__ad_group_history_tmp\""}, "model.pinterest_source.stg_pinterest_ads__pin_promotion_history_tmp": {"raw_sql": "{{ config(enabled=var('ad_reporting__pinterest_ads_enabled', True)) }}\n\nselect *\nfrom {{ var('pin_promotion_history') }}", "compiled": true, "resource_type": "model", "depends_on": {"macros": [], "nodes": ["source.pinterest_source.pinterest_ads.pin_promotion_history"]}, "config": {"enabled": true, "alias": null, "schema": "pinterest_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": "pinterest_source_integration_tests_pinterest_source", "fqn": ["pinterest_source", "tmp", "stg_pinterest_ads__pin_promotion_history_tmp"], "unique_id": "model.pinterest_source.stg_pinterest_ads__pin_promotion_history_tmp", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "tmp/stg_pinterest_ads__pin_promotion_history_tmp.sql", "original_file_path": "models/tmp/stg_pinterest_ads__pin_promotion_history_tmp.sql", "name": "stg_pinterest_ads__pin_promotion_history_tmp", "alias": "stg_pinterest_ads__pin_promotion_history_tmp", "checksum": {"name": "sha256", "checksum": "268ac897534336c397f3c313861c98d0a47f3022d3fc2aefcc201fb3d1db81b9"}, "tags": [], "refs": [], "sources": [["pinterest_ads", "pin_promotion_history"]], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/tmp/stg_pinterest_ads__pin_promotion_history_tmp.sql", "build_path": null, "deferred": false, "unrendered_config": {"schema": "pinterest_source", "materialized": "view", "enabled": true}, "created_at": 1661541213.467201, "compiled_sql": "\n\nselect *\nfrom \"postgres\".\"pinterest_source_integration_tests\".\"pin_promotion_history_data\"", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": "\"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__pin_promotion_history_tmp\""}, "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_history_ad_group_id.220c6220be": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "ad_group_id", "model": "{{ get_where_subquery(ref('stg_pinterest_ads__ad_group_history')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.pinterest_source.stg_pinterest_ads__ad_group_history"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "postgres", "schema": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "not_null_stg_pinterest_ads__ad_group_history_ad_group_id"], "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_history_ad_group_id.220c6220be", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "not_null_stg_pinterest_ads__ad_group_history_ad_group_id.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "not_null_stg_pinterest_ads__ad_group_history_ad_group_id", "alias": "not_null_stg_pinterest_ads__ad_group_history_ad_group_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__ad_group_history"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/not_null_stg_pinterest_ads__ad_group_history_ad_group_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1661541213.5240939, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__ad_group_history\"\nwhere ad_group_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "ad_group_id", "file_key_name": "models.stg_pinterest_ads__ad_group_history"}, "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_history_ad_group_id___fivetran_synced.1132e1f339": {"raw_sql": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_14ec492421aa290adbd40aba9f38efa7\") }}", "test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["ad_group_id", "_fivetran_synced"], "model": "{{ get_where_subquery(ref('stg_pinterest_ads__ad_group_history')) }}"}, "namespace": "dbt_utils"}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.pinterest_source.stg_pinterest_ads__ad_group_history"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_14ec492421aa290adbd40aba9f38efa7", "schema": "dbt_test__audit", "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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_history_ad_group_id___fivetran_synced"], "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_history_ad_group_id___fivetran_synced.1132e1f339", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "dbt_utils_unique_combination_o_14ec492421aa290adbd40aba9f38efa7.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_history_ad_group_id___fivetran_synced", "alias": "dbt_utils_unique_combination_o_14ec492421aa290adbd40aba9f38efa7", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__ad_group_history"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/dbt_utils_unique_combination_o_14ec492421aa290adbd40aba9f38efa7.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_14ec492421aa290adbd40aba9f38efa7"}, "created_at": 1661541213.52542, "compiled_sql": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n ad_group_id, _fivetran_synced\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__ad_group_history\"\n group by ad_group_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_pinterest_ads__ad_group_history"}, "test.pinterest_source.not_null_stg_pinterest_ads__campaign_history_campaign_id.60cb10d341": {"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_pinterest_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.pinterest_source.stg_pinterest_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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "not_null_stg_pinterest_ads__campaign_history_campaign_id"], "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__campaign_history_campaign_id.60cb10d341", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "not_null_stg_pinterest_ads__campaign_history_campaign_id.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "not_null_stg_pinterest_ads__campaign_history_campaign_id", "alias": "not_null_stg_pinterest_ads__campaign_history_campaign_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__campaign_history"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/not_null_stg_pinterest_ads__campaign_history_campaign_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1661541213.532842, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_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_pinterest_ads__campaign_history"}, "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_history_campaign_id___fivetran_synced.eff7196b87": {"raw_sql": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_0f71f27ed6b0ce2d4940b4361559871b\") }}", "test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["campaign_id", "_fivetran_synced"], "model": "{{ get_where_subquery(ref('stg_pinterest_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.pinterest_source.stg_pinterest_ads__campaign_history"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_0f71f27ed6b0ce2d4940b4361559871b", "schema": "dbt_test__audit", "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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_history_campaign_id___fivetran_synced"], "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_history_campaign_id___fivetran_synced.eff7196b87", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "dbt_utils_unique_combination_o_0f71f27ed6b0ce2d4940b4361559871b.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_history_campaign_id___fivetran_synced", "alias": "dbt_utils_unique_combination_o_0f71f27ed6b0ce2d4940b4361559871b", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__campaign_history"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/dbt_utils_unique_combination_o_0f71f27ed6b0ce2d4940b4361559871b.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_0f71f27ed6b0ce2d4940b4361559871b"}, "created_at": 1661541213.533824, "compiled_sql": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n campaign_id, _fivetran_synced\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__campaign_history\"\n group by campaign_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_pinterest_ads__campaign_history"}, "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_history_pin_promotion_id.171995cd34": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}{{ config(alias=\"not_null_stg_pinterest_ads__pi_5cf03dfc3d2615f9d68ae62d55aa2b8f\") }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "pin_promotion_id", "model": "{{ get_where_subquery(ref('stg_pinterest_ads__pin_promotion_history')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_history"]}, "config": {"enabled": true, "alias": "not_null_stg_pinterest_ads__pi_5cf03dfc3d2615f9d68ae62d55aa2b8f", "schema": "dbt_test__audit", "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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "not_null_stg_pinterest_ads__pin_promotion_history_pin_promotion_id"], "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_history_pin_promotion_id.171995cd34", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "not_null_stg_pinterest_ads__pi_5cf03dfc3d2615f9d68ae62d55aa2b8f.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "not_null_stg_pinterest_ads__pin_promotion_history_pin_promotion_id", "alias": "not_null_stg_pinterest_ads__pi_5cf03dfc3d2615f9d68ae62d55aa2b8f", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__pin_promotion_history"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/not_null_stg_pinterest_ads__pi_5cf03dfc3d2615f9d68ae62d55aa2b8f.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "not_null_stg_pinterest_ads__pi_5cf03dfc3d2615f9d68ae62d55aa2b8f"}, "created_at": 1661541213.536507, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__pin_promotion_history\"\nwhere pin_promotion_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "pin_promotion_id", "file_key_name": "models.stg_pinterest_ads__pin_promotion_history"}, "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_history__fivetran_synced__pin_promotion_id.8e9ab31ea9": {"raw_sql": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_e0501de9c3316348957b42725bcba175\") }}", "test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["_fivetran_synced", "pin_promotion_id"], "model": "{{ get_where_subquery(ref('stg_pinterest_ads__pin_promotion_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.pinterest_source.stg_pinterest_ads__pin_promotion_history"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_e0501de9c3316348957b42725bcba175", "schema": "dbt_test__audit", "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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_history__fivetran_synced__pin_promotion_id"], "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_history__fivetran_synced__pin_promotion_id.8e9ab31ea9", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "dbt_utils_unique_combination_o_e0501de9c3316348957b42725bcba175.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_history__fivetran_synced__pin_promotion_id", "alias": "dbt_utils_unique_combination_o_e0501de9c3316348957b42725bcba175", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__pin_promotion_history"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/dbt_utils_unique_combination_o_e0501de9c3316348957b42725bcba175.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_e0501de9c3316348957b42725bcba175"}, "created_at": 1661541213.537531, "compiled_sql": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n _fivetran_synced, pin_promotion_id\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__pin_promotion_history\"\n group by _fivetran_synced, pin_promotion_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_pinterest_ads__pin_promotion_history"}, "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_report_date_day.ed272212a1": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "date_day", "model": "{{ get_where_subquery(ref('stg_pinterest_ads__pin_promotion_report')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "not_null_stg_pinterest_ads__pin_promotion_report_date_day"], "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_report_date_day.ed272212a1", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "not_null_stg_pinterest_ads__pin_promotion_report_date_day.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "not_null_stg_pinterest_ads__pin_promotion_report_date_day", "alias": "not_null_stg_pinterest_ads__pin_promotion_report_date_day", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__pin_promotion_report"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/not_null_stg_pinterest_ads__pin_promotion_report_date_day.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1661541213.5401332, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__pin_promotion_report\"\nwhere date_day is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "date_day", "file_key_name": "models.stg_pinterest_ads__pin_promotion_report"}, "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_report_pin_promotion_id.9c3c9f71ab": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}{{ config(alias=\"not_null_stg_pinterest_ads__pi_d0985f4b7b2bc6d5ec7f384cc03d6f4b\") }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "pin_promotion_id", "model": "{{ get_where_subquery(ref('stg_pinterest_ads__pin_promotion_report')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_report"]}, "config": {"enabled": true, "alias": "not_null_stg_pinterest_ads__pi_d0985f4b7b2bc6d5ec7f384cc03d6f4b", "schema": "dbt_test__audit", "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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "not_null_stg_pinterest_ads__pin_promotion_report_pin_promotion_id"], "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_report_pin_promotion_id.9c3c9f71ab", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "not_null_stg_pinterest_ads__pi_d0985f4b7b2bc6d5ec7f384cc03d6f4b.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "not_null_stg_pinterest_ads__pin_promotion_report_pin_promotion_id", "alias": "not_null_stg_pinterest_ads__pi_d0985f4b7b2bc6d5ec7f384cc03d6f4b", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__pin_promotion_report"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/not_null_stg_pinterest_ads__pi_d0985f4b7b2bc6d5ec7f384cc03d6f4b.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "not_null_stg_pinterest_ads__pi_d0985f4b7b2bc6d5ec7f384cc03d6f4b"}, "created_at": 1661541213.5411892, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__pin_promotion_report\"\nwhere pin_promotion_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "pin_promotion_id", "file_key_name": "models.stg_pinterest_ads__pin_promotion_report"}, "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_report_date_day__pin_promotion_id__ad_group_id__campaign_id__advertiser_id.7ea04e6024": {"raw_sql": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_b200b80456022485be650ebe0c64fc19\") }}", "test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["date_day", "pin_promotion_id", "ad_group_id", "campaign_id", "advertiser_id"], "model": "{{ get_where_subquery(ref('stg_pinterest_ads__pin_promotion_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.pinterest_source.stg_pinterest_ads__pin_promotion_report"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_b200b80456022485be650ebe0c64fc19", "schema": "dbt_test__audit", "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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_report_date_day__pin_promotion_id__ad_group_id__campaign_id__advertiser_id"], "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_report_date_day__pin_promotion_id__ad_group_id__campaign_id__advertiser_id.7ea04e6024", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "dbt_utils_unique_combination_o_b200b80456022485be650ebe0c64fc19.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_report_date_day__pin_promotion_id__ad_group_id__campaign_id__advertiser_id", "alias": "dbt_utils_unique_combination_o_b200b80456022485be650ebe0c64fc19", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__pin_promotion_report"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/dbt_utils_unique_combination_o_b200b80456022485be650ebe0c64fc19.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_b200b80456022485be650ebe0c64fc19"}, "created_at": 1661541213.5424151, "compiled_sql": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n date_day, pin_promotion_id, ad_group_id, campaign_id, advertiser_id\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__pin_promotion_report\"\n group by date_day, pin_promotion_id, ad_group_id, campaign_id, advertiser_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_pinterest_ads__pin_promotion_report"}, "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_report_date_day.80e8904c4c": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "date_day", "model": "{{ get_where_subquery(ref('stg_pinterest_ads__ad_group_report')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.pinterest_source.stg_pinterest_ads__ad_group_report"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "postgres", "schema": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "not_null_stg_pinterest_ads__ad_group_report_date_day"], "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_report_date_day.80e8904c4c", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "not_null_stg_pinterest_ads__ad_group_report_date_day.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "not_null_stg_pinterest_ads__ad_group_report_date_day", "alias": "not_null_stg_pinterest_ads__ad_group_report_date_day", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__ad_group_report"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/not_null_stg_pinterest_ads__ad_group_report_date_day.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1661541213.5457122, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__ad_group_report\"\nwhere date_day is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "date_day", "file_key_name": "models.stg_pinterest_ads__ad_group_report"}, "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_report_ad_group_id.bb8cf3c471": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "ad_group_id", "model": "{{ get_where_subquery(ref('stg_pinterest_ads__ad_group_report')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.pinterest_source.stg_pinterest_ads__ad_group_report"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "postgres", "schema": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "not_null_stg_pinterest_ads__ad_group_report_ad_group_id"], "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_report_ad_group_id.bb8cf3c471", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "not_null_stg_pinterest_ads__ad_group_report_ad_group_id.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "not_null_stg_pinterest_ads__ad_group_report_ad_group_id", "alias": "not_null_stg_pinterest_ads__ad_group_report_ad_group_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__ad_group_report"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/not_null_stg_pinterest_ads__ad_group_report_ad_group_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1661541213.5466912, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__ad_group_report\"\nwhere ad_group_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "ad_group_id", "file_key_name": "models.stg_pinterest_ads__ad_group_report"}, "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_report_date_day__ad_group_id__campaign_id__advertiser_id.3800c02b0e": {"raw_sql": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_e8f9cd4890106f736fbaf772885876c8\") }}", "test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["date_day", "ad_group_id", "campaign_id", "advertiser_id"], "model": "{{ get_where_subquery(ref('stg_pinterest_ads__ad_group_report')) }}"}, "namespace": "dbt_utils"}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.pinterest_source.stg_pinterest_ads__ad_group_report"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_e8f9cd4890106f736fbaf772885876c8", "schema": "dbt_test__audit", "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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_report_date_day__ad_group_id__campaign_id__advertiser_id"], "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_report_date_day__ad_group_id__campaign_id__advertiser_id.3800c02b0e", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "dbt_utils_unique_combination_o_e8f9cd4890106f736fbaf772885876c8.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_report_date_day__ad_group_id__campaign_id__advertiser_id", "alias": "dbt_utils_unique_combination_o_e8f9cd4890106f736fbaf772885876c8", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__ad_group_report"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/dbt_utils_unique_combination_o_e8f9cd4890106f736fbaf772885876c8.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_e8f9cd4890106f736fbaf772885876c8"}, "created_at": 1661541213.547752, "compiled_sql": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n date_day, ad_group_id, campaign_id, advertiser_id\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__ad_group_report\"\n group by date_day, ad_group_id, campaign_id, advertiser_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_pinterest_ads__ad_group_report"}, "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_history_advertiser_id.7d24f665fb": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "advertiser_id", "model": "{{ get_where_subquery(ref('stg_pinterest_ads__advertiser_history')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.pinterest_source.stg_pinterest_ads__advertiser_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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "not_null_stg_pinterest_ads__advertiser_history_advertiser_id"], "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_history_advertiser_id.7d24f665fb", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "not_null_stg_pinterest_ads__advertiser_history_advertiser_id.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "not_null_stg_pinterest_ads__advertiser_history_advertiser_id", "alias": "not_null_stg_pinterest_ads__advertiser_history_advertiser_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__advertiser_history"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/not_null_stg_pinterest_ads__advertiser_history_advertiser_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1661541213.551327, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__advertiser_history\"\nwhere advertiser_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "advertiser_id", "file_key_name": "models.stg_pinterest_ads__advertiser_history"}, "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_history_updated_at__advertiser_id.94e8f4de4b": {"raw_sql": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_ac571a135eb9bbe6db1401c33b830733\") }}", "test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["updated_at", "advertiser_id"], "model": "{{ get_where_subquery(ref('stg_pinterest_ads__advertiser_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.pinterest_source.stg_pinterest_ads__advertiser_history"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_ac571a135eb9bbe6db1401c33b830733", "schema": "dbt_test__audit", "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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_history_updated_at__advertiser_id"], "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_history_updated_at__advertiser_id.94e8f4de4b", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "dbt_utils_unique_combination_o_ac571a135eb9bbe6db1401c33b830733.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_history_updated_at__advertiser_id", "alias": "dbt_utils_unique_combination_o_ac571a135eb9bbe6db1401c33b830733", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__advertiser_history"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/dbt_utils_unique_combination_o_ac571a135eb9bbe6db1401c33b830733.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_ac571a135eb9bbe6db1401c33b830733"}, "created_at": 1661541213.55257, "compiled_sql": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n updated_at, advertiser_id\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__advertiser_history\"\n group by updated_at, advertiser_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_pinterest_ads__advertiser_history"}, "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_report_date_day.153bd03c95": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "date_day", "model": "{{ get_where_subquery(ref('stg_pinterest_ads__advertiser_report')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.pinterest_source.stg_pinterest_ads__advertiser_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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "not_null_stg_pinterest_ads__advertiser_report_date_day"], "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_report_date_day.153bd03c95", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "not_null_stg_pinterest_ads__advertiser_report_date_day.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "not_null_stg_pinterest_ads__advertiser_report_date_day", "alias": "not_null_stg_pinterest_ads__advertiser_report_date_day", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__advertiser_report"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/not_null_stg_pinterest_ads__advertiser_report_date_day.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1661541213.555706, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__advertiser_report\"\nwhere date_day is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "date_day", "file_key_name": "models.stg_pinterest_ads__advertiser_report"}, "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_report_advertiser_id.1b16ed73ff": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "advertiser_id", "model": "{{ get_where_subquery(ref('stg_pinterest_ads__advertiser_report')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.pinterest_source.stg_pinterest_ads__advertiser_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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "not_null_stg_pinterest_ads__advertiser_report_advertiser_id"], "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_report_advertiser_id.1b16ed73ff", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "not_null_stg_pinterest_ads__advertiser_report_advertiser_id.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "not_null_stg_pinterest_ads__advertiser_report_advertiser_id", "alias": "not_null_stg_pinterest_ads__advertiser_report_advertiser_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__advertiser_report"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/not_null_stg_pinterest_ads__advertiser_report_advertiser_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1661541213.5566888, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__advertiser_report\"\nwhere advertiser_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "advertiser_id", "file_key_name": "models.stg_pinterest_ads__advertiser_report"}, "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_report_date_day__advertiser_id.e92ce8a9c0": {"raw_sql": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_7440d10d36ca9b555b1bb533d442c6de\") }}", "test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["date_day", "advertiser_id"], "model": "{{ get_where_subquery(ref('stg_pinterest_ads__advertiser_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.pinterest_source.stg_pinterest_ads__advertiser_report"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_7440d10d36ca9b555b1bb533d442c6de", "schema": "dbt_test__audit", "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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_report_date_day__advertiser_id"], "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_report_date_day__advertiser_id.e92ce8a9c0", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "dbt_utils_unique_combination_o_7440d10d36ca9b555b1bb533d442c6de.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_report_date_day__advertiser_id", "alias": "dbt_utils_unique_combination_o_7440d10d36ca9b555b1bb533d442c6de", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__advertiser_report"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/dbt_utils_unique_combination_o_7440d10d36ca9b555b1bb533d442c6de.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_7440d10d36ca9b555b1bb533d442c6de"}, "created_at": 1661541213.557674, "compiled_sql": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n date_day, advertiser_id\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__advertiser_report\"\n group by date_day, advertiser_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_pinterest_ads__advertiser_report"}, "test.pinterest_source.not_null_stg_pinterest_ads__campaign_report_date_day.7ef5fb1238": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "date_day", "model": "{{ get_where_subquery(ref('stg_pinterest_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.pinterest_source.stg_pinterest_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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "not_null_stg_pinterest_ads__campaign_report_date_day"], "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__campaign_report_date_day.7ef5fb1238", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "not_null_stg_pinterest_ads__campaign_report_date_day.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "not_null_stg_pinterest_ads__campaign_report_date_day", "alias": "not_null_stg_pinterest_ads__campaign_report_date_day", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__campaign_report"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/not_null_stg_pinterest_ads__campaign_report_date_day.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1661541213.5603871, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__campaign_report\"\nwhere date_day is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "date_day", "file_key_name": "models.stg_pinterest_ads__campaign_report"}, "test.pinterest_source.not_null_stg_pinterest_ads__campaign_report_campaign_id.a287eba0fc": {"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_pinterest_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.pinterest_source.stg_pinterest_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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "not_null_stg_pinterest_ads__campaign_report_campaign_id"], "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__campaign_report_campaign_id.a287eba0fc", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "not_null_stg_pinterest_ads__campaign_report_campaign_id.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "not_null_stg_pinterest_ads__campaign_report_campaign_id", "alias": "not_null_stg_pinterest_ads__campaign_report_campaign_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__campaign_report"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/not_null_stg_pinterest_ads__campaign_report_campaign_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1661541213.561661, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__campaign_report\"\nwhere campaign_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "campaign_id", "file_key_name": "models.stg_pinterest_ads__campaign_report"}, "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_report_date_day__campaign_id__advertiser_id.ff47cb8abc": {"raw_sql": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_ea5276bb765474198ad51f22f75fccbf\") }}", "test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["date_day", "campaign_id", "advertiser_id"], "model": "{{ get_where_subquery(ref('stg_pinterest_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.pinterest_source.stg_pinterest_ads__campaign_report"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_ea5276bb765474198ad51f22f75fccbf", "schema": "dbt_test__audit", "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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_report_date_day__campaign_id__advertiser_id"], "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_report_date_day__campaign_id__advertiser_id.ff47cb8abc", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "dbt_utils_unique_combination_o_ea5276bb765474198ad51f22f75fccbf.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_report_date_day__campaign_id__advertiser_id", "alias": "dbt_utils_unique_combination_o_ea5276bb765474198ad51f22f75fccbf", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__campaign_report"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/dbt_utils_unique_combination_o_ea5276bb765474198ad51f22f75fccbf.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_ea5276bb765474198ad51f22f75fccbf"}, "created_at": 1661541213.5629141, "compiled_sql": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n date_day, campaign_id, advertiser_id\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__campaign_report\"\n group by date_day, campaign_id, advertiser_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_pinterest_ads__campaign_report"}, "test.pinterest_source.not_null_stg_pinterest_ads__keyword_history_keyword_id.246889377a": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "keyword_id", "model": "{{ get_where_subquery(ref('stg_pinterest_ads__keyword_history')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.pinterest_source.stg_pinterest_ads__keyword_history"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "postgres", "schema": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "not_null_stg_pinterest_ads__keyword_history_keyword_id"], "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__keyword_history_keyword_id.246889377a", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "not_null_stg_pinterest_ads__keyword_history_keyword_id.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "not_null_stg_pinterest_ads__keyword_history_keyword_id", "alias": "not_null_stg_pinterest_ads__keyword_history_keyword_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__keyword_history"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/not_null_stg_pinterest_ads__keyword_history_keyword_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1661541213.566032, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__keyword_history\"\nwhere keyword_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "keyword_id", "file_key_name": "models.stg_pinterest_ads__keyword_history"}, "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_history_keyword_id__ad_group_id___fivetran_synced.d122faa877": {"raw_sql": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_ed0c009a9ff1bbb46e1ea2a210b25628\") }}", "test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["keyword_id", "ad_group_id", "_fivetran_synced"], "model": "{{ get_where_subquery(ref('stg_pinterest_ads__keyword_history')) }}"}, "namespace": "dbt_utils"}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.pinterest_source.stg_pinterest_ads__keyword_history"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_ed0c009a9ff1bbb46e1ea2a210b25628", "schema": "dbt_test__audit", "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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_history_keyword_id__ad_group_id___fivetran_synced"], "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_history_keyword_id__ad_group_id___fivetran_synced.d122faa877", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "dbt_utils_unique_combination_o_ed0c009a9ff1bbb46e1ea2a210b25628.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_history_keyword_id__ad_group_id___fivetran_synced", "alias": "dbt_utils_unique_combination_o_ed0c009a9ff1bbb46e1ea2a210b25628", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__keyword_history"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/dbt_utils_unique_combination_o_ed0c009a9ff1bbb46e1ea2a210b25628.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_ed0c009a9ff1bbb46e1ea2a210b25628"}, "created_at": 1661541213.5671492, "compiled_sql": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n keyword_id, ad_group_id, _fivetran_synced\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__keyword_history\"\n group by keyword_id, ad_group_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_pinterest_ads__keyword_history"}, "test.pinterest_source.not_null_stg_pinterest_ads__keyword_report_date_day.9937216300": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "date_day", "model": "{{ get_where_subquery(ref('stg_pinterest_ads__keyword_report')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.pinterest_source.stg_pinterest_ads__keyword_report"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "postgres", "schema": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "not_null_stg_pinterest_ads__keyword_report_date_day"], "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__keyword_report_date_day.9937216300", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "not_null_stg_pinterest_ads__keyword_report_date_day.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "not_null_stg_pinterest_ads__keyword_report_date_day", "alias": "not_null_stg_pinterest_ads__keyword_report_date_day", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__keyword_report"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/not_null_stg_pinterest_ads__keyword_report_date_day.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1661541213.570241, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__keyword_report\"\nwhere date_day is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "date_day", "file_key_name": "models.stg_pinterest_ads__keyword_report"}, "test.pinterest_source.not_null_stg_pinterest_ads__keyword_report_keyword_id.5f00679c48": {"raw_sql": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "keyword_id", "model": "{{ get_where_subquery(ref('stg_pinterest_ads__keyword_report')) }}"}, "namespace": null}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.pinterest_source.stg_pinterest_ads__keyword_report"]}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "database": "postgres", "schema": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "not_null_stg_pinterest_ads__keyword_report_keyword_id"], "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__keyword_report_keyword_id.5f00679c48", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "not_null_stg_pinterest_ads__keyword_report_keyword_id.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "not_null_stg_pinterest_ads__keyword_report_keyword_id", "alias": "not_null_stg_pinterest_ads__keyword_report_keyword_id", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__keyword_report"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/not_null_stg_pinterest_ads__keyword_report_keyword_id.sql", "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1661541213.57134, "compiled_sql": "\n \n \n\nselect *\nfrom \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__keyword_report\"\nwhere keyword_id is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "relation_name": null, "column_name": "keyword_id", "file_key_name": "models.stg_pinterest_ads__keyword_report"}, "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_report_date_day__keyword_id__ad_group_id__campaign_id__advertiser_id.3ac101cc13": {"raw_sql": "{{ dbt_utils.test_unique_combination_of_columns(**_dbt_generic_test_kwargs) }}{{ config(alias=\"dbt_utils_unique_combination_o_9e2909bcbf42ab2426c3540a2e7a0bb7\") }}", "test_metadata": {"name": "unique_combination_of_columns", "kwargs": {"combination_of_columns": ["date_day", "keyword_id", "ad_group_id", "campaign_id", "advertiser_id"], "model": "{{ get_where_subquery(ref('stg_pinterest_ads__keyword_report')) }}"}, "namespace": "dbt_utils"}, "compiled": true, "resource_type": "test", "depends_on": {"macros": ["macro.dbt_utils.test_unique_combination_of_columns", "macro.dbt.get_where_subquery"], "nodes": ["model.pinterest_source.stg_pinterest_ads__keyword_report"]}, "config": {"enabled": true, "alias": "dbt_utils_unique_combination_o_9e2909bcbf42ab2426c3540a2e7a0bb7", "schema": "dbt_test__audit", "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": "pinterest_source_integration_tests_dbt_test__audit", "fqn": ["pinterest_source", "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_report_date_day__keyword_id__ad_group_id__campaign_id__advertiser_id"], "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_report_date_day__keyword_id__ad_group_id__campaign_id__advertiser_id.3ac101cc13", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "dbt_utils_unique_combination_o_9e2909bcbf42ab2426c3540a2e7a0bb7.sql", "original_file_path": "models/stg_pinterest_ads.yml", "name": "dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_report_date_day__keyword_id__ad_group_id__campaign_id__advertiser_id", "alias": "dbt_utils_unique_combination_o_9e2909bcbf42ab2426c3540a2e7a0bb7", "checksum": {"name": "none", "checksum": ""}, "tags": [], "refs": [["stg_pinterest_ads__keyword_report"]], "sources": [], "description": "", "columns": {}, "meta": {}, "docs": {"show": true}, "patch_path": null, "compiled_path": "target/compiled/pinterest_source/models/stg_pinterest_ads.yml/dbt_utils_unique_combination_o_9e2909bcbf42ab2426c3540a2e7a0bb7.sql", "build_path": null, "deferred": false, "unrendered_config": {"alias": "dbt_utils_unique_combination_o_9e2909bcbf42ab2426c3540a2e7a0bb7"}, "created_at": 1661541213.572355, "compiled_sql": "\n\n\n\n\n\nwith validation_errors as (\n\n select\n date_day, keyword_id, ad_group_id, campaign_id, advertiser_id\n from \"postgres\".\"pinterest_source_integration_tests_pinterest_source\".\"stg_pinterest_ads__keyword_report\"\n group by date_day, keyword_id, ad_group_id, campaign_id, advertiser_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_pinterest_ads__keyword_report"}}, "sources": {"source.pinterest_source.pinterest_ads.pin_promotion_report": {"fqn": ["pinterest_source", "pinterest_ads", "pin_promotion_report"], "database": "postgres", "schema": "pinterest_source_integration_tests", "unique_id": "source.pinterest_source.pinterest_ads.pin_promotion_report", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "models/src_pinterest_ads.yml", "original_file_path": "models/src_pinterest_ads.yml", "name": "pin_promotion_report", "source_name": "pinterest_ads", "source_description": "", "loader": "Fivetran", "identifier": "pin_promotion_report_data", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 168, "period": "hour"}, "filter": null}, "external": null, "description": "Each record represents the daily performance of a Pinterest Pin promotion.", "columns": {"date": {"name": "date", "description": "The performance date of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "pin_promotion_id": {"name": "pin_promotion_id", "description": "The ID of the related Pin promotion.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_id": {"name": "ad_group_id", "description": "The ID of the related Ad group.", "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": []}, "advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impression_1": {"name": "impression_1", "description": "The number of paid pin impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impression_2": {"name": "impression_2", "description": "The number of earned pin impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clickthrough_1": {"name": "clickthrough_1", "description": "The number of paid pin clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clickthrough_2": {"name": "clickthrough_2", "description": "The number of earned outbound clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend_in_micro_dollar": {"name": "spend_in_micro_dollar", "description": "The amount of spend in micro dollars that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"pin_promotion_report_data\"", "created_at": 1661541213.599655}, "source.pinterest_source.pinterest_ads.pin_promotion_history": {"fqn": ["pinterest_source", "pinterest_ads", "pin_promotion_history"], "database": "postgres", "schema": "pinterest_source_integration_tests", "unique_id": "source.pinterest_source.pinterest_ads.pin_promotion_history", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "models/src_pinterest_ads.yml", "original_file_path": "models/src_pinterest_ads.yml", "name": "pin_promotion_history", "source_name": "pinterest_ads", "source_description": "", "loader": "Fivetran", "identifier": "pin_promotion_history_data", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 168, "period": "hour"}, "filter": null}, "external": null, "description": "Each record represents a version of a Pinterest Pin promotion.", "columns": {"id": {"name": "id", "description": "The ID of the related Pin promotion.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_id": {"name": "ad_group_id", "description": "The ID of the related Ad group.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "created_time": {"name": "created_time", "description": "Pin creation time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "destination_url": {"name": "destination_url", "description": "Pin destination URL.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Pin promotion name.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "pin_id": {"name": "pin_id", "description": "Original pin ID.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status": {"name": "status", "description": "The status of the Pin promotion. One of \"ACTIVE\", \"ARCHIVED\", \"PAUSED\"", "meta": {}, "data_type": null, "quote": null, "tags": []}, "creative_type": {"name": "creative_type", "description": "The creative type. \nOne of \"APP\", \"APP_VIDEO\", \"BOARD\", \"CAROUSEL\", \"CINEMATIC\", \"COMMERCE\", \"MAX_VIDEO\", \"NATIVE_VIDEO\", \"REGULAR\", \n\"SEARCH_PROMINENCE\", \"SEARCH_PROMINENCE_CAROUSEL\", \"SHOPPING\", \"SHOP_THE_PIN\", \"THIRD_PARTY\", or \"VIDEO\".\n", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"pin_promotion_history_data\"", "created_at": 1661541213.599765}, "source.pinterest_source.pinterest_ads.campaign_history": {"fqn": ["pinterest_source", "pinterest_ads", "campaign_history"], "database": "postgres", "schema": "pinterest_source_integration_tests", "unique_id": "source.pinterest_source.pinterest_ads.campaign_history", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "models/src_pinterest_ads.yml", "original_file_path": "models/src_pinterest_ads.yml", "name": "campaign_history", "source_name": "pinterest_ads", "source_description": "", "loader": "Fivetran", "identifier": "campaign_history_data", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 168, "period": "hour"}, "filter": null}, "external": null, "description": "Each record represents a version of a Pinterest Campaign.", "columns": {"id": {"name": "id", "description": "The ID of the related Campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "created_time": {"name": "created_time", "description": "Campaign creation time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Campaign name.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status": {"name": "status", "description": "The status of the Campaign. One of \"ACTIVE\", \"ARCHIVED\", \"PAUSED\"", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"campaign_history_data\"", "created_at": 1661541213.599838}, "source.pinterest_source.pinterest_ads.ad_group_history": {"fqn": ["pinterest_source", "pinterest_ads", "ad_group_history"], "database": "postgres", "schema": "pinterest_source_integration_tests", "unique_id": "source.pinterest_source.pinterest_ads.ad_group_history", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "models/src_pinterest_ads.yml", "original_file_path": "models/src_pinterest_ads.yml", "name": "ad_group_history", "source_name": "pinterest_ads", "source_description": "", "loader": "Fivetran", "identifier": "ad_group_history_data", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 168, "period": "hour"}, "filter": null}, "external": null, "description": "Each record represents a version of a Pinterest Ad Group.", "columns": {"id": {"name": "id", "description": "The ID of the related Ad group.", "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": []}, "created_time": {"name": "created_time", "description": "Ad group creation time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Ad group name.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status": {"name": "status", "description": "The status of the Ad group. One of \"ACTIVE\", \"ARCHIVED\", \"PAUSED\"", "meta": {}, "data_type": null, "quote": null, "tags": []}, "start_time": {"name": "start_time", "description": "Ad group start time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "end_time": {"name": "end_time", "description": "Ad group end time.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"ad_group_history_data\"", "created_at": 1661541213.5999098}, "source.pinterest_source.pinterest_ads.ad_group_report": {"fqn": ["pinterest_source", "pinterest_ads", "ad_group_report"], "database": "postgres", "schema": "pinterest_source_integration_tests", "unique_id": "source.pinterest_source.pinterest_ads.ad_group_report", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "models/src_pinterest_ads.yml", "original_file_path": "models/src_pinterest_ads.yml", "name": "ad_group_report", "source_name": "pinterest_ads", "source_description": "", "loader": "Fivetran", "identifier": "ad_group_report_data", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 168, "period": "hour"}, "filter": null}, "external": null, "description": "Each record represents the daily performance of a Pinterest ad group.", "columns": {"date": {"name": "date", "description": "The performance date of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_id": {"name": "ad_group_id", "description": "The ID of the related Ad group.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_name": {"name": "ad_group_name", "description": "Name of the ad group.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_status": {"name": "ad_group_status", "description": "Status of the ad group.", "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": []}, "advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impression_1": {"name": "impression_1", "description": "The number of paid pin impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impression_2": {"name": "impression_2", "description": "The number of earned pin impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clickthrough_1": {"name": "clickthrough_1", "description": "The number of paid pin clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clickthrough_2": {"name": "clickthrough_2", "description": "The number of earned outbound clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend_in_micro_dollar": {"name": "spend_in_micro_dollar", "description": "The amount of spend in micro dollars that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"ad_group_report_data\"", "created_at": 1661541213.5999842}, "source.pinterest_source.pinterest_ads.advertiser_history": {"fqn": ["pinterest_source", "pinterest_ads", "advertiser_history"], "database": "postgres", "schema": "pinterest_source_integration_tests", "unique_id": "source.pinterest_source.pinterest_ads.advertiser_history", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "models/src_pinterest_ads.yml", "original_file_path": "models/src_pinterest_ads.yml", "name": "advertiser_history", "source_name": "pinterest_ads", "source_description": "", "loader": "Fivetran", "identifier": "advertiser_history_data", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 168, "period": "hour"}, "filter": null}, "external": null, "description": "Each record represents a version of a Pinterest advertiser.", "columns": {"id": {"name": "id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "name": {"name": "name", "description": "Name of the advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "status": {"name": "status", "description": "Status of the advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "billing_profile_status": {"name": "billing_profile_status", "description": "Status of the billing profile.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "billing_type": {"name": "billing_type", "description": "The billing type of the advertiser. Will typically be CREDIT_CARD or INVOICE.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "country": {"name": "country", "description": "The country code where the advertiser is located.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "created_time": {"name": "created_time", "description": "Timestamp of when a record was created.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "currency": {"name": "currency", "description": "The currency code which the a", "meta": {}, "data_type": null, "quote": null, "tags": []}, "merchant_id": {"name": "merchant_id", "description": "Unique ID of the merchant associated with the advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "owner_user_id": {"name": "owner_user_id", "description": "Unique identifier of the owner user.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "updated_time": {"name": "updated_time", "description": "Timestamp of when a record was last updated.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"advertiser_history_data\"", "created_at": 1661541213.6000571}, "source.pinterest_source.pinterest_ads.advertiser_report": {"fqn": ["pinterest_source", "pinterest_ads", "advertiser_report"], "database": "postgres", "schema": "pinterest_source_integration_tests", "unique_id": "source.pinterest_source.pinterest_ads.advertiser_report", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "models/src_pinterest_ads.yml", "original_file_path": "models/src_pinterest_ads.yml", "name": "advertiser_report", "source_name": "pinterest_ads", "source_description": "", "loader": "Fivetran", "identifier": "advertiser_report_data", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 168, "period": "hour"}, "filter": null}, "external": null, "description": "Each record represents the daily performance of a Pinterest advertiser.", "columns": {"date": {"name": "date", "description": "The performance date of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impression_1": {"name": "impression_1", "description": "The number of paid pin impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impression_2": {"name": "impression_2", "description": "The number of earned pin impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clickthrough_1": {"name": "clickthrough_1", "description": "The number of paid pin clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clickthrough_2": {"name": "clickthrough_2", "description": "The number of earned outbound clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend_in_micro_dollar": {"name": "spend_in_micro_dollar", "description": "The amount of spend in micro dollars that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"advertiser_report_data\"", "created_at": 1661541213.600124}, "source.pinterest_source.pinterest_ads.campaign_report": {"fqn": ["pinterest_source", "pinterest_ads", "campaign_report"], "database": "postgres", "schema": "pinterest_source_integration_tests", "unique_id": "source.pinterest_source.pinterest_ads.campaign_report", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "models/src_pinterest_ads.yml", "original_file_path": "models/src_pinterest_ads.yml", "name": "campaign_report", "source_name": "pinterest_ads", "source_description": "", "loader": "Fivetran", "identifier": "campaign_report_data", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 168, "period": "hour"}, "filter": null}, "external": null, "description": "Each record represents the daily performance of a Pinterest campaign.", "columns": {"date": {"name": "date", "description": "The performance date of the record.", "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": "Name of the campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "campaign_status": {"name": "campaign_status", "description": "Status of the campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impression_1": {"name": "impression_1", "description": "The number of paid pin impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impression_2": {"name": "impression_2", "description": "The number of earned pin impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clickthrough_1": {"name": "clickthrough_1", "description": "The number of paid pin clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clickthrough_2": {"name": "clickthrough_2", "description": "The number of earned outbound clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend_in_micro_dollar": {"name": "spend_in_micro_dollar", "description": "The amount of spend in micro dollars that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"campaign_report_data\"", "created_at": 1661541213.600197}, "source.pinterest_source.pinterest_ads.keyword_history": {"fqn": ["pinterest_source", "pinterest_ads", "keyword_history"], "database": "postgres", "schema": "pinterest_source_integration_tests", "unique_id": "source.pinterest_source.pinterest_ads.keyword_history", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "models/src_pinterest_ads.yml", "original_file_path": "models/src_pinterest_ads.yml", "name": "keyword_history", "source_name": "pinterest_ads", "source_description": "", "loader": "Fivetran", "identifier": "keyword_history_data", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 168, "period": "hour"}, "filter": null}, "external": null, "description": "Each record represents a version of a Pinterest keyword.", "columns": {"id": {"name": "id", "description": "Unique identifier of the keyword.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "value": {"name": "value", "description": "The text value that makes upd the keyword.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_id": {"name": "_fivetran_id", "description": "The unique identifier of the record within the Fivetran synced table.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_id": {"name": "ad_group_id", "description": "The ID of the related Ad group.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "archived": {"name": "archived", "description": "Boolean indicating if the keyword is archived.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "bid": {"name": "bid", "description": "Bid amount set for the keyword.", "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": []}, "match_type": {"name": "match_type", "description": "Type of match the keyword is tied to. Either Exact or Broad.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "parent_type": {"name": "parent_type", "description": "Identifier of what grain the parent type is. Ad group or campaign.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"keyword_history_data\"", "created_at": 1661541213.600269}, "source.pinterest_source.pinterest_ads.keyword_report": {"fqn": ["pinterest_source", "pinterest_ads", "keyword_report"], "database": "postgres", "schema": "pinterest_source_integration_tests", "unique_id": "source.pinterest_source.pinterest_ads.keyword_report", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "models/src_pinterest_ads.yml", "original_file_path": "models/src_pinterest_ads.yml", "name": "keyword_report", "source_name": "pinterest_ads", "source_description": "", "loader": "Fivetran", "identifier": "keyword_report_data", "resource_type": "source", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": "_fivetran_synced", "freshness": {"warn_after": {"count": 48, "period": "hour"}, "error_after": {"count": 168, "period": "hour"}, "filter": null}, "external": null, "description": "Each record represents the daily performance of a Pinterest key word.", "columns": {"date": {"name": "date", "description": "The performance date of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "keyword_id": {"name": "keyword_id", "description": "Unique identifier of the keyword.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "pin_promotion_id": {"name": "pin_promotion_id", "description": "The ID of the related Pin promotion.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_id": {"name": "ad_group_id", "description": "The ID of the related Ad group.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_name": {"name": "ad_group_name", "description": "Name of the ad group.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "ad_group_status": {"name": "ad_group_status", "description": "Status of the ad group.", "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": []}, "advertiser_id": {"name": "advertiser_id", "description": "The ID of the related Advertiser.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "_fivetran_synced": {"name": "_fivetran_synced", "description": "Timestamp of when a record was last synced.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impression_1": {"name": "impression_1", "description": "The number of paid pin impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "impression_2": {"name": "impression_2", "description": "The number of earned pin impressions that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clickthrough_1": {"name": "clickthrough_1", "description": "The number of paid pin clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "clickthrough_2": {"name": "clickthrough_2", "description": "The number of earned outbound clicks that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}, "spend_in_micro_dollar": {"name": "spend_in_micro_dollar", "description": "The amount of spend in micro dollars that occurred on the day of the record.", "meta": {}, "data_type": null, "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"postgres\".\"pinterest_source_integration_tests\".\"keyword_report_data\"", "created_at": 1661541213.6003451}}, "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": 1661541212.655274}, "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": 1661541212.656778}, "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": 1661541212.6628978}, "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": 1661541212.663452}, "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": 1661541212.6637928}, "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": 1661541212.6641269}, "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": 1661541212.6646452}, "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": 1661541212.665041}, "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": 1661541212.6652281}, "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": 1661541212.6656032}, "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": 1661541212.666019}, "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": 1661541212.666102}, "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": 1661541212.6662972}, "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": 1661541212.666409}, "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": 1661541212.667428}, "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": 1661541212.6678798}, "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": 1661541212.66825}, "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": 1661541212.668976}, "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": 1661541212.670042}, "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": 1661541212.6729689}, "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": 1661541212.6731992}, "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": 1661541212.673362}, "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": 1661541212.6735182}, "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": 1661541212.6736739}, "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": 1661541212.674593}, "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": 1661541212.674926}, "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": 1661541212.675255}, "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": 1661541212.675883}, "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": 1661541212.676171}, "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": 1661541212.67967}, "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": 1661541212.679863}, "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": 1661541212.680094}, "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": 1661541212.680246}, "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": 1661541212.6803682}, "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": 1661541212.6812391}, "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": 1661541212.6814148}, "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": 1661541212.681589}, "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": 1661541212.6826298}, "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": 1661541212.684642}, "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": 1661541212.688108}, "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": 1661541212.688409}, "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": 1661541212.688586}, "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": 1661541212.688677}, "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": 1661541212.6889}, "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": 1661541212.689856}, "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": 1661541212.6900601}, "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": 1661541212.690329}, "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": 1661541212.6907809}, "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": 1661541212.69737}, "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": 1661541212.699692}, "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": 1661541212.700255}, "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": 1661541212.7005708}, "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": 1661541212.701026}, "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": 1661541212.701581}, "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": 1661541212.702647}, "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": 1661541212.703239}, "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": 1661541212.7038898}, "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": 1661541212.706913}, "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": 1661541212.708166}, "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": 1661541212.708436}, "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": 1661541212.708962}, "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": 1661541212.709267}, "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": 1661541212.710091}, "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": 1661541212.711055}, "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": 1661541212.71651}, "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": 1661541212.721765}, "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": 1661541212.7230709}, "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": 1661541212.724295}, "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": 1661541212.725013}, "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": 1661541212.728842}, "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": 1661541212.729375}, "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": 1661541212.729563}, "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": 1661541212.729814}, "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": 1661541212.7302558}, "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": 1661541212.734451}, "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": 1661541212.7352161}, "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": 1661541212.735459}, "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": 1661541212.7368362}, "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": 1661541212.73735}, "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": 1661541212.737515}, "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": 1661541212.7377012}, "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": 1661541212.737966}, "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": 1661541212.7411299}, "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": 1661541212.745488}, "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": 1661541212.7464771}, "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": 1661541212.74673}, "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": 1661541212.747234}, "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": 1661541212.7473888}, "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": 1661541212.747513}, "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": 1661541212.7476768}, "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": 1661541212.747796}, "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": 1661541212.7482932}, "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": 1661541212.748571}, "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": 1661541212.74985}, "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": 1661541212.7507122}, "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": 1661541212.751022}, "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": 1661541212.7519329}, "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": 1661541212.75229}, "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": 1661541212.752618}, "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": 1661541212.753312}, "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": 1661541212.753602}, "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": 1661541212.754474}, "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": 1661541212.754737}, "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": 1661541212.755072}, "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": 1661541212.755726}, "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": 1661541212.756918}, "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": 1661541212.757531}, "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": 1661541212.757836}, "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": 1661541212.7596328}, "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": 1661541212.7609558}, "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": 1661541212.7617202}, "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": 1661541212.7619562}, "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": 1661541212.762437}, "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": 1661541212.762634}, "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": 1661541212.762809}, "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": 1661541212.7629929}, "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": 1661541212.763526}, "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": 1661541212.763668}, "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": 1661541212.763833}, "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": 1661541212.764245}, "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": 1661541212.7659578}, "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": 1661541212.766298}, "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": 1661541212.7664928}, "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": 1661541212.766717}, "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": 1661541212.766908}, "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": 1661541212.7670689}, "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": 1661541212.767277}, "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": 1661541212.767562}, "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": 1661541212.7678201}, "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": 1661541212.768575}, "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": 1661541212.768812}, "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": 1661541212.7690098}, "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": 1661541212.769639}, "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": 1661541212.769817}, "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": 1661541212.7700748}, "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": 1661541212.7705338}, "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": 1661541212.771508}, "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": 1661541212.771753}, "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": 1661541212.771977}, "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": 1661541212.7721531}, "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": 1661541212.772434}, "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": 1661541212.7729669}, "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": 1661541212.77489}, "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": 1661541212.7751691}, "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": 1661541212.775367}, "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": 1661541212.775527}, "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": 1661541212.7757282}, "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": 1661541212.7759879}, "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": 1661541212.7762392}, "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": 1661541212.7767098}, "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": 1661541212.776931}, "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": 1661541212.7771149}, "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": 1661541212.7790122}, "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": 1661541212.7791731}, "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": 1661541212.7794828}, "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": 1661541212.779666}, "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": 1661541212.780041}, "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": 1661541212.780287}, "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": 1661541212.7809122}, "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": 1661541212.7811892}, "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": 1661541212.782002}, "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": 1661541212.782691}, "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": 1661541212.7829309}, "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": 1661541212.7832289}, "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": 1661541212.783514}, "macro.dbt_utils.except": {"unique_id": "macro.dbt_utils.except", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/pinterest/dbt_pinterest_source/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": 1661541212.783848}, "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/pinterest/dbt_pinterest_source/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": 1661541212.7839239}, "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/pinterest/dbt_pinterest_source/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": 1661541212.783992}, "macro.dbt_utils.replace": {"unique_id": "macro.dbt_utils.replace", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/pinterest/dbt_pinterest_source/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": 1661541212.784404}, "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/pinterest/dbt_pinterest_source/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": 1661541212.784569}, "macro.dbt_utils.concat": {"unique_id": "macro.dbt_utils.concat", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/pinterest/dbt_pinterest_source/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": 1661541212.784878}, "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/pinterest/dbt_pinterest_source/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": 1661541212.785086}, "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/pinterest/dbt_pinterest_source/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": 1661541212.785802}, "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/pinterest/dbt_pinterest_source/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": 1661541212.785874}, "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/pinterest/dbt_pinterest_source/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": 1661541212.7859468}, "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/pinterest/dbt_pinterest_source/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": 1661541212.786015}, "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/pinterest/dbt_pinterest_source/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": 1661541212.786081}, "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/pinterest/dbt_pinterest_source/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": 1661541212.7862442}, "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/pinterest/dbt_pinterest_source/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": 1661541212.786315}, "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/pinterest/dbt_pinterest_source/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": 1661541212.786388}, "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/pinterest/dbt_pinterest_source/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": 1661541212.7864552}, "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/pinterest/dbt_pinterest_source/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": 1661541212.786612}, "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/pinterest/dbt_pinterest_source/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": 1661541212.7866838}, "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/pinterest/dbt_pinterest_source/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": 1661541212.786752}, "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/pinterest/dbt_pinterest_source/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": 1661541212.786911}, "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/pinterest/dbt_pinterest_source/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": 1661541212.786984}, "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/pinterest/dbt_pinterest_source/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": 1661541212.787113}, "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/pinterest/dbt_pinterest_source/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": 1661541212.7872949}, "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/pinterest/dbt_pinterest_source/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": 1661541212.787369}, "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/pinterest/dbt_pinterest_source/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": 1661541212.78744}, "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/pinterest/dbt_pinterest_source/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": 1661541212.787662}, "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/pinterest/dbt_pinterest_source/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": 1661541212.7877362}, "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/pinterest/dbt_pinterest_source/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": 1661541212.787804}, "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/pinterest/dbt_pinterest_source/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": 1661541212.788376}, "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/pinterest/dbt_pinterest_source/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": 1661541212.7888598}, "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/pinterest/dbt_pinterest_source/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": 1661541212.789003}, "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/pinterest/dbt_pinterest_source/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": 1661541212.78931}, "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/pinterest/dbt_pinterest_source/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": 1661541212.789453}, "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/pinterest/dbt_pinterest_source/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": 1661541212.78956}, "macro.dbt_utils.length": {"unique_id": "macro.dbt_utils.length", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/pinterest/dbt_pinterest_source/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": 1661541212.789928}, "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/pinterest/dbt_pinterest_source/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": 1661541212.790038}, "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/pinterest/dbt_pinterest_source/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": 1661541212.79014}, "macro.dbt_utils.dateadd": {"unique_id": "macro.dbt_utils.dateadd", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/pinterest/dbt_pinterest_source/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": 1661541212.7907588}, "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/pinterest/dbt_pinterest_source/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": 1661541212.7909288}, "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/pinterest/dbt_pinterest_source/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": 1661541212.791098}, "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/pinterest/dbt_pinterest_source/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": 1661541212.791255}, "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/pinterest/dbt_pinterest_source/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": 1661541212.791451}, "macro.dbt_utils.intersect": {"unique_id": "macro.dbt_utils.intersect", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/pinterest/dbt_pinterest_source/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": 1661541212.791776}, "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/pinterest/dbt_pinterest_source/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": 1661541212.791851}, "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/pinterest/dbt_pinterest_source/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": 1661541212.791929}, "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/pinterest/dbt_pinterest_source/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": 1661541212.792325}, "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/pinterest/dbt_pinterest_source/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": 1661541212.792475}, "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/pinterest/dbt_pinterest_source/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": 1661541212.7926981}, "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/pinterest/dbt_pinterest_source/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": 1661541212.792835}, "macro.dbt_utils.right": {"unique_id": "macro.dbt_utils.right", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/pinterest/dbt_pinterest_source/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": 1661541212.793437}, "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/pinterest/dbt_pinterest_source/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": 1661541212.7935722}, "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/pinterest/dbt_pinterest_source/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": 1661541212.7937322}, "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/pinterest/dbt_pinterest_source/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": 1661541212.793887}, "macro.dbt_utils.listagg": {"unique_id": "macro.dbt_utils.listagg", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/pinterest/dbt_pinterest_source/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": 1661541212.7961888}, "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/pinterest/dbt_pinterest_source/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": 1661541212.796617}, "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/pinterest/dbt_pinterest_source/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": 1661541212.796903}, "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/pinterest/dbt_pinterest_source/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": 1661541212.797306}, "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/pinterest/dbt_pinterest_source/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": 1661541212.79827}, "macro.dbt_utils.datediff": {"unique_id": "macro.dbt_utils.datediff", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/pinterest/dbt_pinterest_source/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": 1661541212.801004}, "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/pinterest/dbt_pinterest_source/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": 1661541212.801176}, "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/pinterest/dbt_pinterest_source/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": 1661541212.8013408}, "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/pinterest/dbt_pinterest_source/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": 1661541212.80318}, "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/pinterest/dbt_pinterest_source/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": 1661541212.8033888}, "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/pinterest/dbt_pinterest_source/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": 1661541212.803879}, "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/pinterest/dbt_pinterest_source/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": 1661541212.804023}, "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/pinterest/dbt_pinterest_source/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": 1661541212.804151}, "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/pinterest/dbt_pinterest_source/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": 1661541212.804279}, "macro.dbt_utils.hash": {"unique_id": "macro.dbt_utils.hash", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/pinterest/dbt_pinterest_source/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": 1661541212.80463}, "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/pinterest/dbt_pinterest_source/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": 1661541212.804769}, "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/pinterest/dbt_pinterest_source/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": 1661541212.8049002}, "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/pinterest/dbt_pinterest_source/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": 1661541212.8052669}, "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/pinterest/dbt_pinterest_source/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": 1661541212.805404}, "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/pinterest/dbt_pinterest_source/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": 1661541212.805529}, "macro.dbt_utils.identifier": {"unique_id": "macro.dbt_utils.identifier", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/pinterest/dbt_pinterest_source/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": 1661541212.80613}, "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/pinterest/dbt_pinterest_source/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": 1661541212.8062341}, "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/pinterest/dbt_pinterest_source/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": 1661541212.8063328}, "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/pinterest/dbt_pinterest_source/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": 1661541212.806701}, "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/pinterest/dbt_pinterest_source/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": 1661541212.806808}, "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/pinterest/dbt_pinterest_source/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": 1661541212.806914}, "macro.dbt_utils.position": {"unique_id": "macro.dbt_utils.position", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/pinterest/dbt_pinterest_source/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": 1661541212.8073442}, "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/pinterest/dbt_pinterest_source/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": 1661541212.807484}, "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/pinterest/dbt_pinterest_source/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": 1661541212.807625}, "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/pinterest/dbt_pinterest_source/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": 1661541212.8080158}, "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/pinterest/dbt_pinterest_source/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": 1661541212.808125}, "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/pinterest/dbt_pinterest_source/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": 1661541212.8087292}, "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/pinterest/dbt_pinterest_source/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": 1661541212.808848}, "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/pinterest/dbt_pinterest_source/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": 1661541212.8089228}, "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/pinterest/dbt_pinterest_source/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": 1661541212.809002}, "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/pinterest/dbt_pinterest_source/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": 1661541212.809178}, "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/pinterest/dbt_pinterest_source/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": 1661541212.809298}, "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/pinterest/dbt_pinterest_source/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": 1661541212.809456}, "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/pinterest/dbt_pinterest_source/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": 1661541212.809599}, "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/pinterest/dbt_pinterest_source/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": 1661541212.8097558}, "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/pinterest/dbt_pinterest_source/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": 1661541212.811361}, "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/pinterest/dbt_pinterest_source/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": 1661541212.8118799}, "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/pinterest/dbt_pinterest_source/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": 1661541212.8123672}, "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/pinterest/dbt_pinterest_source/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": 1661541212.812566}, "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/pinterest/dbt_pinterest_source/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": 1661541212.813052}, "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/pinterest/dbt_pinterest_source/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": 1661541212.813186}, "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/pinterest/dbt_pinterest_source/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": 1661541212.813316}, "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/pinterest/dbt_pinterest_source/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": 1661541212.813441}, "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/pinterest/dbt_pinterest_source/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": 1661541212.8138309}, "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/pinterest/dbt_pinterest_source/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": 1661541212.813932}, "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/pinterest/dbt_pinterest_source/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": 1661541212.814114}, "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/pinterest/dbt_pinterest_source/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": 1661541212.814213}, "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/pinterest/dbt_pinterest_source/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": 1661541212.814823}, "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/pinterest/dbt_pinterest_source/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": 1661541212.815093}, "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/pinterest/dbt_pinterest_source/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": 1661541212.815242}, "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/pinterest/dbt_pinterest_source/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": 1661541212.815636}, "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/pinterest/dbt_pinterest_source/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": 1661541212.8158221}, "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/pinterest/dbt_pinterest_source/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": 1661541212.817272}, "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/pinterest/dbt_pinterest_source/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": 1661541212.817437}, "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/pinterest/dbt_pinterest_source/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": 1661541212.817659}, "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/pinterest/dbt_pinterest_source/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": 1661541212.8179939}, "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/pinterest/dbt_pinterest_source/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": 1661541212.818325}, "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/pinterest/dbt_pinterest_source/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": 1661541212.818686}, "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/pinterest/dbt_pinterest_source/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": 1661541212.819098}, "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/pinterest/dbt_pinterest_source/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": 1661541212.8192341}, "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/pinterest/dbt_pinterest_source/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": 1661541212.819381}, "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/pinterest/dbt_pinterest_source/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": 1661541212.82}, "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/pinterest/dbt_pinterest_source/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": 1661541212.820267}, "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/pinterest/dbt_pinterest_source/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": 1661541212.8204238}, "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/pinterest/dbt_pinterest_source/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": 1661541212.820575}, "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/pinterest/dbt_pinterest_source/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": 1661541212.820724}, "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/pinterest/dbt_pinterest_source/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": 1661541212.821803}, "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/pinterest/dbt_pinterest_source/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": 1661541212.822284}, "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/pinterest/dbt_pinterest_source/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": 1661541212.82243}, "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/pinterest/dbt_pinterest_source/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": 1661541212.8226361}, "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/pinterest/dbt_pinterest_source/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": 1661541212.8228369}, "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/pinterest/dbt_pinterest_source/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": 1661541212.828968}, "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/pinterest/dbt_pinterest_source/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": 1661541212.829678}, "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/pinterest/dbt_pinterest_source/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": 1661541212.830135}, "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/pinterest/dbt_pinterest_source/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": 1661541212.830799}, "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/pinterest/dbt_pinterest_source/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": 1661541212.836549}, "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/pinterest/dbt_pinterest_source/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": 1661541212.837229}, "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/pinterest/dbt_pinterest_source/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": 1661541212.837766}, "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/pinterest/dbt_pinterest_source/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": 1661541212.838371}, "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/pinterest/dbt_pinterest_source/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": 1661541212.839085}, "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/pinterest/dbt_pinterest_source/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": 1661541212.839531}, "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/pinterest/dbt_pinterest_source/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": 1661541212.839883}, "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/pinterest/dbt_pinterest_source/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": 1661541212.840699}, "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/pinterest/dbt_pinterest_source/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": 1661541212.841048}, "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/pinterest/dbt_pinterest_source/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": 1661541212.84163}, "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/pinterest/dbt_pinterest_source/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": 1661541212.8419468}, "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/pinterest/dbt_pinterest_source/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": 1661541212.842687}, "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/pinterest/dbt_pinterest_source/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": 1661541212.8430378}, "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/pinterest/dbt_pinterest_source/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": 1661541212.843521}, "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/pinterest/dbt_pinterest_source/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": 1661541212.843874}, "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/pinterest/dbt_pinterest_source/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": 1661541212.844278}, "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/pinterest/dbt_pinterest_source/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": 1661541212.84446}, "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/pinterest/dbt_pinterest_source/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": 1661541212.846693}, "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/pinterest/dbt_pinterest_source/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": 1661541212.8473291}, "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/pinterest/dbt_pinterest_source/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": 1661541212.8481112}, "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/pinterest/dbt_pinterest_source/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": 1661541212.8485088}, "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/pinterest/dbt_pinterest_source/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": 1661541212.84905}, "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/pinterest/dbt_pinterest_source/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": 1661541212.849238}, "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/pinterest/dbt_pinterest_source/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": 1661541212.849674}, "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/pinterest/dbt_pinterest_source/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": 1661541212.8498719}, "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/pinterest/dbt_pinterest_source/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": 1661541212.8508239}, "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/pinterest/dbt_pinterest_source/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": 1661541212.851542}, "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/pinterest/dbt_pinterest_source/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": 1661541212.8523169}, "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/pinterest/dbt_pinterest_source/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": 1661541212.85268}, "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/pinterest/dbt_pinterest_source/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": 1661541212.853258}, "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/pinterest/dbt_pinterest_source/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": 1661541212.8535712}, "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/pinterest/dbt_pinterest_source/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": 1661541212.85408}, "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/pinterest/dbt_pinterest_source/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": 1661541212.854613}, "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/pinterest/dbt_pinterest_source/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": 1661541212.8553479}, "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/pinterest/dbt_pinterest_source/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": 1661541212.856281}, "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/pinterest/dbt_pinterest_source/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": 1661541212.8567832}, "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/pinterest/dbt_pinterest_source/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": 1661541212.856956}, "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/pinterest/dbt_pinterest_source/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": 1661541212.857795}, "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/pinterest/dbt_pinterest_source/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": 1661541212.858716}, "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/pinterest/dbt_pinterest_source/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": 1661541212.8619819}, "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/pinterest/dbt_pinterest_source/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": 1661541212.86355}, "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/pinterest/dbt_pinterest_source/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": 1661541212.8640609}, "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/pinterest/dbt_pinterest_source/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": 1661541212.86427}, "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/pinterest/dbt_pinterest_source/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": 1661541212.864662}, "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/pinterest/dbt_pinterest_source/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": 1661541212.864883}, "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/pinterest/dbt_pinterest_source/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": 1661541212.865236}, "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/pinterest/dbt_pinterest_source/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": 1661541212.865416}, "macro.dbt_utils.slugify": {"unique_id": "macro.dbt_utils.slugify", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/pinterest/dbt_pinterest_source/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": 1661541212.865972}, "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/pinterest/dbt_pinterest_source/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": 1661541212.8667562}, "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/pinterest/dbt_pinterest_source/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": 1661541212.867404}, "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/pinterest/dbt_pinterest_source/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": 1661541212.867657}, "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/pinterest/dbt_pinterest_source/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": 1661541212.868052}, "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/pinterest/dbt_pinterest_source/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": 1661541212.868497}, "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/pinterest/dbt_pinterest_source/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": 1661541212.898707}, "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/pinterest/dbt_pinterest_source/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": 1661541212.899754}, "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/pinterest/dbt_pinterest_source/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": 1661541212.900728}, "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/pinterest/dbt_pinterest_source/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": 1661541212.901658}, "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/pinterest/dbt_pinterest_source/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": 1661541212.902111}, "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/pinterest/dbt_pinterest_source/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": 1661541212.902315}, "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/pinterest/dbt_pinterest_source/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": 1661541212.902852}, "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/pinterest/dbt_pinterest_source/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": 1661541212.9036212}, "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/pinterest/dbt_pinterest_source/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": 1661541212.904497}, "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/pinterest/dbt_pinterest_source/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": 1661541212.905}, "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/pinterest/dbt_pinterest_source/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": 1661541212.905303}, "macro.dbt_utils.star": {"unique_id": "macro.dbt_utils.star", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/pinterest/dbt_pinterest_source/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": 1661541212.9061031}, "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/pinterest/dbt_pinterest_source/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": 1661541212.9072561}, "macro.dbt_utils.unpivot": {"unique_id": "macro.dbt_utils.unpivot", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/pinterest/dbt_pinterest_source/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": 1661541212.9091341}, "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/pinterest/dbt_pinterest_source/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": 1661541212.911295}, "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/pinterest/dbt_pinterest_source/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": 1661541212.9141362}, "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/pinterest/dbt_pinterest_source/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": 1661541212.917481}, "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/pinterest/dbt_pinterest_source/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": 1661541212.9180741}, "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/pinterest/dbt_pinterest_source/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": 1661541212.918344}, "macro.dbt_utils.deduplicate": {"unique_id": "macro.dbt_utils.deduplicate", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/pinterest/dbt_pinterest_source/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": 1661541212.9209669}, "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/pinterest/dbt_pinterest_source/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": 1661541212.921232}, "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/pinterest/dbt_pinterest_source/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": 1661541212.921458}, "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/pinterest/dbt_pinterest_source/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": 1661541212.921667}, "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/pinterest/dbt_pinterest_source/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": 1661541212.921851}, "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/pinterest/dbt_pinterest_source/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": 1661541212.9220328}, "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/pinterest/dbt_pinterest_source/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": 1661541212.922944}, "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/pinterest/dbt_pinterest_source/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": 1661541212.924147}, "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/pinterest/dbt_pinterest_source/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": 1661541212.924763}, "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/pinterest/dbt_pinterest_source/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": 1661541212.9250822}, "macro.dbt_utils.nullcheck": {"unique_id": "macro.dbt_utils.nullcheck", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/pinterest/dbt_pinterest_source/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": 1661541212.9255328}, "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/pinterest/dbt_pinterest_source/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": 1661541212.925888}, "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/pinterest/dbt_pinterest_source/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": 1661541212.9274828}, "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/pinterest/dbt_pinterest_source/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": 1661541212.927773}, "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/pinterest/dbt_pinterest_source/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": 1661541212.928672}, "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/pinterest/dbt_pinterest_source/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": 1661541212.929218}, "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/pinterest/dbt_pinterest_source/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": 1661541212.930455}, "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/pinterest/dbt_pinterest_source/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": 1661541212.932089}, "macro.dbt_utils.pivot": {"unique_id": "macro.dbt_utils.pivot", "package_name": "dbt_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/pinterest/dbt_pinterest_source/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": 1661541212.933511}, "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/pinterest/dbt_pinterest_source/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": 1661541212.934457}, "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/pinterest/dbt_pinterest_source/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": 1661541212.935065}, "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/pinterest/dbt_pinterest_source/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": 1661541212.935842}, "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/pinterest/dbt_pinterest_source/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": 1661541212.936339}, "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/pinterest/dbt_pinterest_source/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": 1661541212.936984}, "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/pinterest/dbt_pinterest_source/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": 1661541212.937543}, "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/pinterest/dbt_pinterest_source/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": 1661541212.937634}, "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/pinterest/dbt_pinterest_source/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": 1661541212.937721}, "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/pinterest/dbt_pinterest_source/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": 1661541212.937804}, "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/pinterest/dbt_pinterest_source/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": 1661541212.9389188}, "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/pinterest/dbt_pinterest_source/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": 1661541212.939219}, "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/pinterest/dbt_pinterest_source/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": 1661541212.940205}, "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/pinterest/dbt_pinterest_source/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": 1661541212.9412858}, "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/pinterest/dbt_pinterest_source/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": 1661541212.946635}, "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/pinterest/dbt_pinterest_source/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": 1661541212.947402}, "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/pinterest/dbt_pinterest_source/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": 1661541212.948331}, "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/pinterest/dbt_pinterest_source/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": 1661541212.949072}, "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/pinterest/dbt_pinterest_source/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": 1661541212.9498482}, "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/pinterest/dbt_pinterest_source/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": 1661541212.950973}, "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/pinterest/dbt_pinterest_source/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": 1661541212.951493}, "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/pinterest/dbt_pinterest_source/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": 1661541212.951705}, "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/pinterest/dbt_pinterest_source/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": 1661541212.9546099}, "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/pinterest/dbt_pinterest_source/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": 1661541212.961917}, "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/pinterest/dbt_pinterest_source/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": 1661541212.962246}, "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/pinterest/dbt_pinterest_source/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": 1661541212.962322}, "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/pinterest/dbt_pinterest_source/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": 1661541212.962983}, "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/pinterest/dbt_pinterest_source/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": 1661541212.964594}, "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/pinterest/dbt_pinterest_source/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": 1661541212.9649322}, "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/pinterest/dbt_pinterest_source/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": 1661541212.965203}, "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/pinterest/dbt_pinterest_source/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": 1661541212.965476}, "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/pinterest/dbt_pinterest_source/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": 1661541212.965864}, "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/pinterest/dbt_pinterest_source/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": 1661541212.966066}, "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/pinterest/dbt_pinterest_source/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": 1661541212.966332}, "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/pinterest/dbt_pinterest_source/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": 1661541212.966814}, "macro.fivetran_utils.percentile": {"unique_id": "macro.fivetran_utils.percentile", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/pinterest/dbt_pinterest_source/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": 1661541212.967783}, "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/pinterest/dbt_pinterest_source/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": 1661541212.967959}, "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/pinterest/dbt_pinterest_source/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": 1661541212.968124}, "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/pinterest/dbt_pinterest_source/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": 1661541212.9682822}, "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/pinterest/dbt_pinterest_source/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": 1661541212.968429}, "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/pinterest/dbt_pinterest_source/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": 1661541212.96859}, "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/pinterest/dbt_pinterest_source/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": 1661541212.9690938}, "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/pinterest/dbt_pinterest_source/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": 1661541212.9699259}, "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/pinterest/dbt_pinterest_source/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": 1661541212.971113}, "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/pinterest/dbt_pinterest_source/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": 1661541212.971364}, "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/pinterest/dbt_pinterest_source/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": 1661541212.9716249}, "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/pinterest/dbt_pinterest_source/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": 1661541212.971869}, "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/pinterest/dbt_pinterest_source/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": 1661541212.972113}, "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/pinterest/dbt_pinterest_source/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": 1661541212.972383}, "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/pinterest/dbt_pinterest_source/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": 1661541212.97265}, "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/pinterest/dbt_pinterest_source/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": 1661541212.973065}, "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/pinterest/dbt_pinterest_source/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": 1661541212.973165}, "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/pinterest/dbt_pinterest_source/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": 1661541212.973261}, "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/pinterest/dbt_pinterest_source/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": 1661541212.9733608}, "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/pinterest/dbt_pinterest_source/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": 1661541212.9737952}, "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/pinterest/dbt_pinterest_source/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": 1661541212.9744341}, "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/pinterest/dbt_pinterest_source/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": 1661541212.975106}, "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/pinterest/dbt_pinterest_source/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": 1661541212.975636}, "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/pinterest/dbt_pinterest_source/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": 1661541212.975764}, "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/pinterest/dbt_pinterest_source/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": 1661541212.975889}, "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/pinterest/dbt_pinterest_source/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": 1661541212.976015}, "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/pinterest/dbt_pinterest_source/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": 1661541212.976149}, "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/pinterest/dbt_pinterest_source/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": 1661541212.979017}, "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/pinterest/dbt_pinterest_source/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": 1661541212.979198}, "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/pinterest/dbt_pinterest_source/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": 1661541212.979359}, "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/pinterest/dbt_pinterest_source/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": 1661541212.979517}, "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/pinterest/dbt_pinterest_source/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": 1661541212.98129}, "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/pinterest/dbt_pinterest_source/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": 1661541212.982238}, "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/pinterest/dbt_pinterest_source/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": 1661541212.982389}, "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/pinterest/dbt_pinterest_source/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": 1661541212.982677}, "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/pinterest/dbt_pinterest_source/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": 1661541212.982972}, "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/pinterest/dbt_pinterest_source/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": 1661541212.983108}, "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/pinterest/dbt_pinterest_source/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": 1661541212.983249}, "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/pinterest/dbt_pinterest_source/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": 1661541212.983382}, "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/pinterest/dbt_pinterest_source/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": 1661541212.9839702}, "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/pinterest/dbt_pinterest_source/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": 1661541212.984577}, "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/pinterest/dbt_pinterest_source/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": 1661541212.985155}, "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/pinterest/dbt_pinterest_source/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": 1661541212.985374}, "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/pinterest/dbt_pinterest_source/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": 1661541212.985601}, "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/pinterest/dbt_pinterest_source/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": 1661541212.98595}, "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/pinterest/dbt_pinterest_source/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": 1661541212.9869618}, "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/pinterest/dbt_pinterest_source/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": 1661541212.991126}, "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/pinterest/dbt_pinterest_source/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": 1661541212.9915378}, "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/pinterest/dbt_pinterest_source/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": 1661541212.9921122}, "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/pinterest/dbt_pinterest_source/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": 1661541212.993981}, "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/pinterest/dbt_pinterest_source/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": 1661541212.9945998}, "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/pinterest/dbt_pinterest_source/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": 1661541212.995327}, "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/pinterest/dbt_pinterest_source/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": 1661541212.99549}, "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/pinterest/dbt_pinterest_source/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": 1661541212.9956532}, "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/pinterest/dbt_pinterest_source/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": 1661541212.995831}, "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/pinterest/dbt_pinterest_source/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": 1661541212.995986}, "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/pinterest/dbt_pinterest_source/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": 1661541212.996144}, "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/pinterest/dbt_pinterest_source/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": 1661541212.996914}, "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/pinterest/dbt_pinterest_source/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": 1661541212.997932}, "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/pinterest/dbt_pinterest_source/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": 1661541212.99872}, "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/pinterest/dbt_pinterest_source/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": 1661541212.998892}, "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/pinterest/dbt_pinterest_source/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": 1661541212.999053}, "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/pinterest/dbt_pinterest_source/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": 1661541212.999223}, "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/pinterest/dbt_pinterest_source/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": 1661541212.9993868}, "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/pinterest/dbt_pinterest_source/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": 1661541212.999583}, "macro.fivetran_utils.ceiling": {"unique_id": "macro.fivetran_utils.ceiling", "package_name": "fivetran_utils", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/pinterest/dbt_pinterest_source/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": 1661541212.9999301}, "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/pinterest/dbt_pinterest_source/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": 1661541213.000139}, "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/pinterest/dbt_pinterest_source/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": 1661541213.0002408}, "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/pinterest/dbt_pinterest_source/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": 1661541213.0009851}, "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/pinterest/dbt_pinterest_source/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": 1661541213.002294}, "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/pinterest/dbt_pinterest_source/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": 1661541213.004343}, "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/pinterest/dbt_pinterest_source/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": 1661541213.006098}, "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/pinterest/dbt_pinterest_source/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": 1661541213.006491}, "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/pinterest/dbt_pinterest_source/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": 1661541213.006599}, "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/pinterest/dbt_pinterest_source/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": 1661541213.0067022}, "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/pinterest/dbt_pinterest_source/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": 1661541213.007188}, "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/pinterest/dbt_pinterest_source/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": 1661541213.007676}, "macro.pinterest_source.get_ad_group_history_columns": {"unique_id": "macro.pinterest_source.get_ad_group_history_columns", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "macros/get_ad_group_history_columns.sql", "original_file_path": "macros/get_ad_group_history_columns.sql", "name": "get_ad_group_history_columns", "macro_sql": "{% macro get_ad_group_history_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"campaign_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"created_time\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"end_time\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"name\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"start_time\", \"datatype\": dbt_utils.type_timestamp()},\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_string"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661541213.0088131}, "macro.pinterest_source.get_pin_promotion_history_columns": {"unique_id": "macro.pinterest_source.get_pin_promotion_history_columns", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "macros/get_pin_promotion_history_columns.sql", "original_file_path": "macros/get_pin_promotion_history_columns.sql", "name": "get_pin_promotion_history_columns", "macro_sql": "{% macro get_pin_promotion_history_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"ad_group_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"android_deep_link\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"click_tracking_url\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"created_time\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"creative_type\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"destination_url\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"ios_deep_link\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"is_pin_deleted\", \"datatype\": \"boolean\"},\n {\"name\": \"is_removable\", \"datatype\": \"boolean\"},\n {\"name\": \"name\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"pin_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"review_status\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"status\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"updated_time\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"view_tracking_url\", \"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_string"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661541213.011064}, "macro.pinterest_source.get_keyword_report_columns": {"unique_id": "macro.pinterest_source.get_keyword_report_columns", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "macros/get_keyword_report_columns.sql", "original_file_path": "macros/get_keyword_report_columns.sql", "name": "get_keyword_report_columns", "macro_sql": "{% macro get_keyword_report_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"ad_group_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"ad_group_name\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"ad_group_status\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"advertiser_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"campaign_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"clickthrough_1\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"clickthrough_2\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"date\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"impression_1\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"impression_2\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"keyword_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"pin_promotion_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"spend_in_micro_dollar\", \"datatype\": dbt_utils.type_int()}\n] %}\n\n{{ fivetran_utils.add_pass_through_columns(columns, var('pinterest__keyword_report_passthrough_metrics')) }}\n\n{{ return(columns) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.type_timestamp", "macro.dbt_utils.type_string", "macro.dbt_utils.type_int", "macro.fivetran_utils.add_pass_through_columns"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661541213.0130649}, "macro.pinterest_source.get_pin_promotion_report_columns": {"unique_id": "macro.pinterest_source.get_pin_promotion_report_columns", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "macros/get_pin_promotion_report_columns.sql", "original_file_path": "macros/get_pin_promotion_report_columns.sql", "name": "get_pin_promotion_report_columns", "macro_sql": "{% macro get_pin_promotion_report_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"ad_group_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"advertiser_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"campaign_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"clickthrough_1\", \"datatype\": dbt_utils.type_numeric()},\n {\"name\": \"clickthrough_2\", \"datatype\": dbt_utils.type_numeric()},\n {\"name\": \"date\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"impression_1\", \"datatype\": dbt_utils.type_numeric()},\n {\"name\": \"impression_2\", \"datatype\": dbt_utils.type_numeric()},\n {\"name\": \"pin_promotion_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"spend_in_micro_dollar\", \"datatype\": dbt_utils.type_numeric()}\n] %}\n\n{{ fivetran_utils.add_pass_through_columns(columns, var('pinterest__pin_promotion_report_passthrough_metrics')) }}\n\n{{ return(columns) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.type_timestamp", "macro.dbt_utils.type_string", "macro.dbt_utils.type_numeric", "macro.fivetran_utils.add_pass_through_columns"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661541213.0147011}, "macro.pinterest_source.get_campaign_report_columns": {"unique_id": "macro.pinterest_source.get_campaign_report_columns", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "macros/get_campaign_report_columns.sql", "original_file_path": "macros/get_campaign_report_columns.sql", "name": "get_campaign_report_columns", "macro_sql": "{% macro get_campaign_report_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"advertiser_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"campaign_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"campaign_name\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"campaign_status\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"clickthrough_1\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"clickthrough_2\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"date\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"impression_1\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"impression_2\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"spend_in_micro_dollar\", \"datatype\": dbt_utils.type_int()}\n] %}\n\n{{ fivetran_utils.add_pass_through_columns(columns, var('pinterest__campaign_report_passthrough_metrics')) }}\n\n{{ return(columns) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.type_timestamp", "macro.dbt_utils.type_string", "macro.dbt_utils.type_int", "macro.fivetran_utils.add_pass_through_columns"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661541213.016275}, "macro.pinterest_source.get_campaign_history_columns": {"unique_id": "macro.pinterest_source.get_campaign_history_columns", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_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\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"created_time\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"advertiser_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"name\", \"datatype\": dbt_utils.type_string()},\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_string"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661541213.017171}, "macro.pinterest_source.get_advertiser_history_columns": {"unique_id": "macro.pinterest_source.get_advertiser_history_columns", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "macros/get_advertiser_history_columns.sql", "original_file_path": "macros/get_advertiser_history_columns.sql", "name": "get_advertiser_history_columns", "macro_sql": "{% macro get_advertiser_history_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"billing_profile_status\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"billing_type\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"country\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"created_time\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"currency\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"merchant_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"name\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"owner_user_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"status\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"updated_time\", \"datatype\": dbt_utils.type_timestamp()}\n] %}\n\n{{ return(columns) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.type_timestamp", "macro.dbt_utils.type_string"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661541213.018751}, "macro.pinterest_source.get_ad_group_report_columns": {"unique_id": "macro.pinterest_source.get_ad_group_report_columns", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "macros/get_ad_group_report_columns.sql", "original_file_path": "macros/get_ad_group_report_columns.sql", "name": "get_ad_group_report_columns", "macro_sql": "{% macro get_ad_group_report_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"ad_group_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"ad_group_name\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"ad_group_status\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"advertiser_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"campaign_id\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"clickthrough_1\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"clickthrough_2\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"date\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"impression_1\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"impression_2\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"spend_in_micro_dollar\", \"datatype\": dbt_utils.type_int()}\n] %}\n\n{{ fivetran_utils.add_pass_through_columns(columns, var('pinterest__ad_group_report_passthrough_metrics')) }}\n\n{{ return(columns) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.type_timestamp", "macro.dbt_utils.type_string", "macro.dbt_utils.type_int", "macro.fivetran_utils.add_pass_through_columns"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661541213.020548}, "macro.pinterest_source.get_keyword_history_columns": {"unique_id": "macro.pinterest_source.get_keyword_history_columns", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "macros/get_keyword_history_columns.sql", "original_file_path": "macros/get_keyword_history_columns.sql", "name": "get_keyword_history_columns", "macro_sql": "{% macro get_keyword_history_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"ad_group_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"advertiser_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"archived\", \"datatype\": \"boolean\"},\n {\"name\": \"bid\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"campaign_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"match_type\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"parent_type\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"value\", \"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": 1661541213.0221171}, "macro.pinterest_source.get_advertiser_report_columns": {"unique_id": "macro.pinterest_source.get_advertiser_report_columns", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "macros/get_advertiser_report_columns.sql", "original_file_path": "macros/get_advertiser_report_columns.sql", "name": "get_advertiser_report_columns", "macro_sql": "{% macro get_advertiser_report_columns() %}\n\n{% set columns = [\n {\"name\": \"_fivetran_synced\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"advertiser_id\", \"datatype\": dbt_utils.type_string()},\n {\"name\": \"clickthrough_1\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"clickthrough_2\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"date\", \"datatype\": dbt_utils.type_timestamp()},\n {\"name\": \"impression_1\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"impression_2\", \"datatype\": dbt_utils.type_int()},\n {\"name\": \"spend_in_micro_dollar\", \"datatype\": dbt_utils.type_int()}\n] %}\n\n{{ fivetran_utils.add_pass_through_columns(columns, var('pinterest__advertiser_report_passthrough_metrics')) }}\n\n{{ return(columns) }}\n\n{% endmacro %}", "resource_type": "macro", "tags": [], "depends_on": {"macros": ["macro.dbt_utils.type_timestamp", "macro.dbt_utils.type_string", "macro.dbt_utils.type_int", "macro.fivetran_utils.add_pass_through_columns"]}, "description": "", "meta": {}, "docs": {"show": true}, "patch_path": null, "arguments": [], "created_at": 1661541213.023371}}, "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"}, "pinterest_source._fivetran_synced": {"unique_id": "pinterest_source._fivetran_synced", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "_fivetran_synced", "block_contents": "Timestamp of when a record was last synced."}, "pinterest_source.is_most_recent_record": {"unique_id": "pinterest_source.is_most_recent_record", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "is_most_recent_record", "block_contents": "Boolean representing whether the record is the most recent version of the object."}, "pinterest_source.date_day": {"unique_id": "pinterest_source.date_day", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "date_day", "block_contents": "The performance date of the record."}, "pinterest_source.ad_group_id": {"unique_id": "pinterest_source.ad_group_id", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "ad_group_id", "block_contents": "The ID of the related Ad group."}, "pinterest_source.pin_promotion_id": {"unique_id": "pinterest_source.pin_promotion_id", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "pin_promotion_id", "block_contents": "The ID of the related Pin promotion."}, "pinterest_source.campaign_id": {"unique_id": "pinterest_source.campaign_id", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "campaign_id", "block_contents": "The ID of the related Campaign."}, "pinterest_source.advertiser_id": {"unique_id": "pinterest_source.advertiser_id", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "advertiser_id", "block_contents": "The ID of the related Advertiser."}, "pinterest_source.impressions": {"unique_id": "pinterest_source.impressions", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "impressions", "block_contents": "The number of paid and earned impressions that occurred on the day of the record."}, "pinterest_source.clicks": {"unique_id": "pinterest_source.clicks", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "clicks", "block_contents": "The number of paid and earned clicks that occurred on the day of the record."}, "pinterest_source.spend": {"unique_id": "pinterest_source.spend", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "spend", "block_contents": "The amount of spend that occurred on the day of the record."}, "pinterest_source.updated_at": {"unique_id": "pinterest_source.updated_at", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "updated_at", "block_contents": "Timestamp of when a record was last updated."}, "pinterest_source.created_at": {"unique_id": "pinterest_source.created_at", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "created_at", "block_contents": "Timestamp of when a record was created."}, "pinterest_source.spend_in_micro_dollar": {"unique_id": "pinterest_source.spend_in_micro_dollar", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "spend_in_micro_dollar", "block_contents": "The amount of spend in micro dollars that occurred on the day of the record."}, "pinterest_source.clickthrough_1": {"unique_id": "pinterest_source.clickthrough_1", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "clickthrough_1", "block_contents": "The number of paid pin clicks that occurred on the day of the record."}, "pinterest_source.clickthrough_2": {"unique_id": "pinterest_source.clickthrough_2", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "clickthrough_2", "block_contents": "The number of earned outbound clicks that occurred on the day of the record."}, "pinterest_source.impression_1": {"unique_id": "pinterest_source.impression_1", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "impression_1", "block_contents": "The number of paid pin impressions that occurred on the day of the record."}, "pinterest_source.impression_2": {"unique_id": "pinterest_source.impression_2", "package_name": "pinterest_source", "root_path": "/Users/joseph.markiewicz/Documents/dbt_packages/ad_reporting/pinterest/dbt_pinterest_source/integration_tests/dbt_packages/pinterest_source", "path": "docs.md", "original_file_path": "models/docs.md", "name": "impression_2", "block_contents": "The number of earned pin impressions that occurred on the day of the record."}}, "exposures": {}, "metrics": {}, "selectors": {}, "disabled": {}, "parent_map": {"seed.pinterest_source_integration_tests.ad_group_report_data": [], "seed.pinterest_source_integration_tests.keyword_report_data": [], "seed.pinterest_source_integration_tests.pin_promotion_history_data": [], "seed.pinterest_source_integration_tests.advertiser_history_data": [], "seed.pinterest_source_integration_tests.advertiser_report_data": [], "seed.pinterest_source_integration_tests.ad_group_history_data": [], "seed.pinterest_source_integration_tests.campaign_history_data": [], "seed.pinterest_source_integration_tests.campaign_report_data": [], "seed.pinterest_source_integration_tests.keyword_history_data": [], "seed.pinterest_source_integration_tests.pin_promotion_report_data": [], "model.pinterest_source.stg_pinterest_ads__pin_promotion_history": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_history_tmp", "model.pinterest_source.stg_pinterest_ads__pin_promotion_history_tmp"], "model.pinterest_source.stg_pinterest_ads__keyword_report": ["model.pinterest_source.stg_pinterest_ads__keyword_report_tmp", "model.pinterest_source.stg_pinterest_ads__keyword_report_tmp"], "model.pinterest_source.stg_pinterest_ads__ad_group_report": ["model.pinterest_source.stg_pinterest_ads__ad_group_report_tmp", "model.pinterest_source.stg_pinterest_ads__ad_group_report_tmp"], "model.pinterest_source.stg_pinterest_ads__campaign_history": ["model.pinterest_source.stg_pinterest_ads__campaign_history_tmp", "model.pinterest_source.stg_pinterest_ads__campaign_history_tmp"], "model.pinterest_source.stg_pinterest_ads__advertiser_report": ["model.pinterest_source.stg_pinterest_ads__advertiser_report_tmp", "model.pinterest_source.stg_pinterest_ads__advertiser_report_tmp"], "model.pinterest_source.stg_pinterest_ads__advertiser_history": ["model.pinterest_source.stg_pinterest_ads__advertiser_history_tmp", "model.pinterest_source.stg_pinterest_ads__advertiser_history_tmp"], "model.pinterest_source.stg_pinterest_ads__campaign_report": ["model.pinterest_source.stg_pinterest_ads__campaign_report_tmp", "model.pinterest_source.stg_pinterest_ads__campaign_report_tmp"], "model.pinterest_source.stg_pinterest_ads__keyword_history": ["model.pinterest_source.stg_pinterest_ads__keyword_history_tmp", "model.pinterest_source.stg_pinterest_ads__keyword_history_tmp"], "model.pinterest_source.stg_pinterest_ads__pin_promotion_report": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_report_tmp", "model.pinterest_source.stg_pinterest_ads__pin_promotion_report_tmp"], "model.pinterest_source.stg_pinterest_ads__ad_group_history": ["model.pinterest_source.stg_pinterest_ads__ad_group_history_tmp", "model.pinterest_source.stg_pinterest_ads__ad_group_history_tmp"], "model.pinterest_source.stg_pinterest_ads__advertiser_history_tmp": ["source.pinterest_source.pinterest_ads.advertiser_history"], "model.pinterest_source.stg_pinterest_ads__pin_promotion_report_tmp": ["source.pinterest_source.pinterest_ads.pin_promotion_report"], "model.pinterest_source.stg_pinterest_ads__campaign_report_tmp": ["source.pinterest_source.pinterest_ads.campaign_report"], "model.pinterest_source.stg_pinterest_ads__advertiser_report_tmp": ["source.pinterest_source.pinterest_ads.advertiser_report"], "model.pinterest_source.stg_pinterest_ads__keyword_report_tmp": ["source.pinterest_source.pinterest_ads.keyword_report"], "model.pinterest_source.stg_pinterest_ads__ad_group_report_tmp": ["source.pinterest_source.pinterest_ads.ad_group_report"], "model.pinterest_source.stg_pinterest_ads__keyword_history_tmp": ["source.pinterest_source.pinterest_ads.keyword_history"], "model.pinterest_source.stg_pinterest_ads__campaign_history_tmp": ["source.pinterest_source.pinterest_ads.campaign_history"], "model.pinterest_source.stg_pinterest_ads__ad_group_history_tmp": ["source.pinterest_source.pinterest_ads.ad_group_history"], "model.pinterest_source.stg_pinterest_ads__pin_promotion_history_tmp": ["source.pinterest_source.pinterest_ads.pin_promotion_history"], "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_history_ad_group_id.220c6220be": ["model.pinterest_source.stg_pinterest_ads__ad_group_history"], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_history_ad_group_id___fivetran_synced.1132e1f339": ["model.pinterest_source.stg_pinterest_ads__ad_group_history"], "test.pinterest_source.not_null_stg_pinterest_ads__campaign_history_campaign_id.60cb10d341": ["model.pinterest_source.stg_pinterest_ads__campaign_history"], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_history_campaign_id___fivetran_synced.eff7196b87": ["model.pinterest_source.stg_pinterest_ads__campaign_history"], "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_history_pin_promotion_id.171995cd34": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_history"], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_history__fivetran_synced__pin_promotion_id.8e9ab31ea9": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_history"], "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_report_date_day.ed272212a1": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_report"], "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_report_pin_promotion_id.9c3c9f71ab": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_report"], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_report_date_day__pin_promotion_id__ad_group_id__campaign_id__advertiser_id.7ea04e6024": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_report"], "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_report_date_day.80e8904c4c": ["model.pinterest_source.stg_pinterest_ads__ad_group_report"], "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_report_ad_group_id.bb8cf3c471": ["model.pinterest_source.stg_pinterest_ads__ad_group_report"], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_report_date_day__ad_group_id__campaign_id__advertiser_id.3800c02b0e": ["model.pinterest_source.stg_pinterest_ads__ad_group_report"], "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_history_advertiser_id.7d24f665fb": ["model.pinterest_source.stg_pinterest_ads__advertiser_history"], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_history_updated_at__advertiser_id.94e8f4de4b": ["model.pinterest_source.stg_pinterest_ads__advertiser_history"], "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_report_date_day.153bd03c95": ["model.pinterest_source.stg_pinterest_ads__advertiser_report"], "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_report_advertiser_id.1b16ed73ff": ["model.pinterest_source.stg_pinterest_ads__advertiser_report"], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_report_date_day__advertiser_id.e92ce8a9c0": ["model.pinterest_source.stg_pinterest_ads__advertiser_report"], "test.pinterest_source.not_null_stg_pinterest_ads__campaign_report_date_day.7ef5fb1238": ["model.pinterest_source.stg_pinterest_ads__campaign_report"], "test.pinterest_source.not_null_stg_pinterest_ads__campaign_report_campaign_id.a287eba0fc": ["model.pinterest_source.stg_pinterest_ads__campaign_report"], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_report_date_day__campaign_id__advertiser_id.ff47cb8abc": ["model.pinterest_source.stg_pinterest_ads__campaign_report"], "test.pinterest_source.not_null_stg_pinterest_ads__keyword_history_keyword_id.246889377a": ["model.pinterest_source.stg_pinterest_ads__keyword_history"], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_history_keyword_id__ad_group_id___fivetran_synced.d122faa877": ["model.pinterest_source.stg_pinterest_ads__keyword_history"], "test.pinterest_source.not_null_stg_pinterest_ads__keyword_report_date_day.9937216300": ["model.pinterest_source.stg_pinterest_ads__keyword_report"], "test.pinterest_source.not_null_stg_pinterest_ads__keyword_report_keyword_id.5f00679c48": ["model.pinterest_source.stg_pinterest_ads__keyword_report"], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_report_date_day__keyword_id__ad_group_id__campaign_id__advertiser_id.3ac101cc13": ["model.pinterest_source.stg_pinterest_ads__keyword_report"], "source.pinterest_source.pinterest_ads.pin_promotion_report": [], "source.pinterest_source.pinterest_ads.pin_promotion_history": [], "source.pinterest_source.pinterest_ads.campaign_history": [], "source.pinterest_source.pinterest_ads.ad_group_history": [], "source.pinterest_source.pinterest_ads.ad_group_report": [], "source.pinterest_source.pinterest_ads.advertiser_history": [], "source.pinterest_source.pinterest_ads.advertiser_report": [], "source.pinterest_source.pinterest_ads.campaign_report": [], "source.pinterest_source.pinterest_ads.keyword_history": [], "source.pinterest_source.pinterest_ads.keyword_report": []}, "child_map": {"seed.pinterest_source_integration_tests.ad_group_report_data": [], "seed.pinterest_source_integration_tests.keyword_report_data": [], "seed.pinterest_source_integration_tests.pin_promotion_history_data": [], "seed.pinterest_source_integration_tests.advertiser_history_data": [], "seed.pinterest_source_integration_tests.advertiser_report_data": [], "seed.pinterest_source_integration_tests.ad_group_history_data": [], "seed.pinterest_source_integration_tests.campaign_history_data": [], "seed.pinterest_source_integration_tests.campaign_report_data": [], "seed.pinterest_source_integration_tests.keyword_history_data": [], "seed.pinterest_source_integration_tests.pin_promotion_report_data": [], "model.pinterest_source.stg_pinterest_ads__pin_promotion_history": ["test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_history__fivetran_synced__pin_promotion_id.8e9ab31ea9", "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_history_pin_promotion_id.171995cd34"], "model.pinterest_source.stg_pinterest_ads__keyword_report": ["test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_report_date_day__keyword_id__ad_group_id__campaign_id__advertiser_id.3ac101cc13", "test.pinterest_source.not_null_stg_pinterest_ads__keyword_report_date_day.9937216300", "test.pinterest_source.not_null_stg_pinterest_ads__keyword_report_keyword_id.5f00679c48"], "model.pinterest_source.stg_pinterest_ads__ad_group_report": ["test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_report_date_day__ad_group_id__campaign_id__advertiser_id.3800c02b0e", "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_report_ad_group_id.bb8cf3c471", "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_report_date_day.80e8904c4c"], "model.pinterest_source.stg_pinterest_ads__campaign_history": ["test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_history_campaign_id___fivetran_synced.eff7196b87", "test.pinterest_source.not_null_stg_pinterest_ads__campaign_history_campaign_id.60cb10d341"], "model.pinterest_source.stg_pinterest_ads__advertiser_report": ["test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_report_date_day__advertiser_id.e92ce8a9c0", "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_report_advertiser_id.1b16ed73ff", "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_report_date_day.153bd03c95"], "model.pinterest_source.stg_pinterest_ads__advertiser_history": ["test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_history_updated_at__advertiser_id.94e8f4de4b", "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_history_advertiser_id.7d24f665fb"], "model.pinterest_source.stg_pinterest_ads__campaign_report": ["test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_report_date_day__campaign_id__advertiser_id.ff47cb8abc", "test.pinterest_source.not_null_stg_pinterest_ads__campaign_report_campaign_id.a287eba0fc", "test.pinterest_source.not_null_stg_pinterest_ads__campaign_report_date_day.7ef5fb1238"], "model.pinterest_source.stg_pinterest_ads__keyword_history": ["test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_history_keyword_id__ad_group_id___fivetran_synced.d122faa877", "test.pinterest_source.not_null_stg_pinterest_ads__keyword_history_keyword_id.246889377a"], "model.pinterest_source.stg_pinterest_ads__pin_promotion_report": ["test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_report_date_day__pin_promotion_id__ad_group_id__campaign_id__advertiser_id.7ea04e6024", "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_report_date_day.ed272212a1", "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_report_pin_promotion_id.9c3c9f71ab"], "model.pinterest_source.stg_pinterest_ads__ad_group_history": ["test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_history_ad_group_id___fivetran_synced.1132e1f339", "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_history_ad_group_id.220c6220be"], "model.pinterest_source.stg_pinterest_ads__advertiser_history_tmp": ["model.pinterest_source.stg_pinterest_ads__advertiser_history", "model.pinterest_source.stg_pinterest_ads__advertiser_history"], "model.pinterest_source.stg_pinterest_ads__pin_promotion_report_tmp": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_report", "model.pinterest_source.stg_pinterest_ads__pin_promotion_report"], "model.pinterest_source.stg_pinterest_ads__campaign_report_tmp": ["model.pinterest_source.stg_pinterest_ads__campaign_report", "model.pinterest_source.stg_pinterest_ads__campaign_report"], "model.pinterest_source.stg_pinterest_ads__advertiser_report_tmp": ["model.pinterest_source.stg_pinterest_ads__advertiser_report", "model.pinterest_source.stg_pinterest_ads__advertiser_report"], "model.pinterest_source.stg_pinterest_ads__keyword_report_tmp": ["model.pinterest_source.stg_pinterest_ads__keyword_report", "model.pinterest_source.stg_pinterest_ads__keyword_report"], "model.pinterest_source.stg_pinterest_ads__ad_group_report_tmp": ["model.pinterest_source.stg_pinterest_ads__ad_group_report", "model.pinterest_source.stg_pinterest_ads__ad_group_report"], "model.pinterest_source.stg_pinterest_ads__keyword_history_tmp": ["model.pinterest_source.stg_pinterest_ads__keyword_history", "model.pinterest_source.stg_pinterest_ads__keyword_history"], "model.pinterest_source.stg_pinterest_ads__campaign_history_tmp": ["model.pinterest_source.stg_pinterest_ads__campaign_history", "model.pinterest_source.stg_pinterest_ads__campaign_history"], "model.pinterest_source.stg_pinterest_ads__ad_group_history_tmp": ["model.pinterest_source.stg_pinterest_ads__ad_group_history", "model.pinterest_source.stg_pinterest_ads__ad_group_history"], "model.pinterest_source.stg_pinterest_ads__pin_promotion_history_tmp": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_history", "model.pinterest_source.stg_pinterest_ads__pin_promotion_history"], "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_history_ad_group_id.220c6220be": [], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_history_ad_group_id___fivetran_synced.1132e1f339": [], "test.pinterest_source.not_null_stg_pinterest_ads__campaign_history_campaign_id.60cb10d341": [], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_history_campaign_id___fivetran_synced.eff7196b87": [], "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_history_pin_promotion_id.171995cd34": [], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_history__fivetran_synced__pin_promotion_id.8e9ab31ea9": [], "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_report_date_day.ed272212a1": [], "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_report_pin_promotion_id.9c3c9f71ab": [], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_report_date_day__pin_promotion_id__ad_group_id__campaign_id__advertiser_id.7ea04e6024": [], "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_report_date_day.80e8904c4c": [], "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_report_ad_group_id.bb8cf3c471": [], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_report_date_day__ad_group_id__campaign_id__advertiser_id.3800c02b0e": [], "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_history_advertiser_id.7d24f665fb": [], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_history_updated_at__advertiser_id.94e8f4de4b": [], "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_report_date_day.153bd03c95": [], "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_report_advertiser_id.1b16ed73ff": [], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_report_date_day__advertiser_id.e92ce8a9c0": [], "test.pinterest_source.not_null_stg_pinterest_ads__campaign_report_date_day.7ef5fb1238": [], "test.pinterest_source.not_null_stg_pinterest_ads__campaign_report_campaign_id.a287eba0fc": [], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_report_date_day__campaign_id__advertiser_id.ff47cb8abc": [], "test.pinterest_source.not_null_stg_pinterest_ads__keyword_history_keyword_id.246889377a": [], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_history_keyword_id__ad_group_id___fivetran_synced.d122faa877": [], "test.pinterest_source.not_null_stg_pinterest_ads__keyword_report_date_day.9937216300": [], "test.pinterest_source.not_null_stg_pinterest_ads__keyword_report_keyword_id.5f00679c48": [], "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_report_date_day__keyword_id__ad_group_id__campaign_id__advertiser_id.3ac101cc13": [], "source.pinterest_source.pinterest_ads.pin_promotion_report": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_report_tmp"], "source.pinterest_source.pinterest_ads.pin_promotion_history": ["model.pinterest_source.stg_pinterest_ads__pin_promotion_history_tmp"], "source.pinterest_source.pinterest_ads.campaign_history": ["model.pinterest_source.stg_pinterest_ads__campaign_history_tmp"], "source.pinterest_source.pinterest_ads.ad_group_history": ["model.pinterest_source.stg_pinterest_ads__ad_group_history_tmp"], "source.pinterest_source.pinterest_ads.ad_group_report": ["model.pinterest_source.stg_pinterest_ads__ad_group_report_tmp"], "source.pinterest_source.pinterest_ads.advertiser_history": ["model.pinterest_source.stg_pinterest_ads__advertiser_history_tmp"], "source.pinterest_source.pinterest_ads.advertiser_report": ["model.pinterest_source.stg_pinterest_ads__advertiser_report_tmp"], "source.pinterest_source.pinterest_ads.campaign_report": ["model.pinterest_source.stg_pinterest_ads__campaign_report_tmp"], "source.pinterest_source.pinterest_ads.keyword_history": ["model.pinterest_source.stg_pinterest_ads__keyword_history_tmp"], "source.pinterest_source.pinterest_ads.keyword_report": ["model.pinterest_source.stg_pinterest_ads__keyword_report_tmp"]}} \ No newline at end of file diff --git a/docs/run_results.json b/docs/run_results.json index 6c811b6..c0b9aef 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-07-20T19:21:03.553218Z", "invocation_id": "dbf490a2-d9ac-4389-8b4c-a7cae74fc906", "env": {}}, "results": [{"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T19:21:02.493282Z", "completed_at": "2022-07-20T19:21:02.504542Z"}, {"name": "execute", "started_at": "2022-07-20T19:21:02.505368Z", "completed_at": "2022-07-20T19:21:02.505378Z"}], "thread_id": "Thread-1", "execution_time": 0.013810873031616211, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__ad_group_history_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T19:21:02.493561Z", "completed_at": "2022-07-20T19:21:02.504805Z"}, {"name": "execute", "started_at": "2022-07-20T19:21:02.505470Z", "completed_at": "2022-07-20T19:21:02.505473Z"}], "thread_id": "Thread-2", "execution_time": 0.013586044311523438, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__ad_group_report_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T19:21:02.496529Z", "completed_at": "2022-07-20T19:21:02.505155Z"}, {"name": "execute", "started_at": "2022-07-20T19:21:02.506149Z", "completed_at": "2022-07-20T19:21:02.506152Z"}], "thread_id": "Thread-4", "execution_time": 0.013788223266601562, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__advertiser_report_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T19:21:02.496415Z", "completed_at": "2022-07-20T19:21:02.505278Z"}, {"name": "execute", "started_at": "2022-07-20T19:21:02.506230Z", "completed_at": "2022-07-20T19:21:02.506233Z"}], "thread_id": "Thread-3", "execution_time": 0.014168024063110352, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__advertiser_history_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T19:21:02.508300Z", "completed_at": "2022-07-20T19:21:02.516199Z"}, {"name": "execute", "started_at": "2022-07-20T19:21:02.516692Z", "completed_at": "2022-07-20T19:21:02.516697Z"}], "thread_id": "Thread-2", "execution_time": 0.009813070297241211, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__campaign_report_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T19:21:02.508210Z", "completed_at": "2022-07-20T19:21:02.516269Z"}, {"name": "execute", "started_at": "2022-07-20T19:21:02.516784Z", "completed_at": "2022-07-20T19:21:02.516788Z"}], "thread_id": "Thread-1", "execution_time": 0.010123968124389648, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__campaign_history_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T19:21:02.512317Z", "completed_at": "2022-07-20T19:21:02.516598Z"}, {"name": "execute", "started_at": "2022-07-20T19:21:02.517385Z", "completed_at": "2022-07-20T19:21:02.517388Z"}], "thread_id": "Thread-4", "execution_time": 0.010023117065429688, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__keyword_history_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T19:21:02.512401Z", "completed_at": "2022-07-20T19:21:02.516849Z"}, {"name": "execute", "started_at": "2022-07-20T19:21:02.517768Z", "completed_at": "2022-07-20T19:21:02.517772Z"}], "thread_id": "Thread-3", "execution_time": 0.010343074798583984, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__keyword_report_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T19:21:02.519087Z", "completed_at": "2022-07-20T19:21:02.524867Z"}, {"name": "execute", "started_at": "2022-07-20T19:21:02.526233Z", "completed_at": "2022-07-20T19:21:02.526237Z"}], "thread_id": "Thread-2", "execution_time": 0.008555889129638672, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__pin_promotion_history_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T19:21:02.519162Z", "completed_at": "2022-07-20T19:21:02.524936Z"}, {"name": "execute", "started_at": "2022-07-20T19:21:02.526302Z", "completed_at": "2022-07-20T19:21:02.526305Z"}], "thread_id": "Thread-1", "execution_time": 0.008571863174438477, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__pin_promotion_report_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T19:21:02.522903Z", "completed_at": "2022-07-20T19:21:02.525869Z"}, {"name": "execute", "started_at": "2022-07-20T19:21:02.526436Z", "completed_at": "2022-07-20T19:21:02.526439Z"}], "thread_id": "Thread-4", "execution_time": 0.008004903793334961, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.pinterest_source_integration_tests.ad_group_history_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T19:21:02.523075Z", "completed_at": "2022-07-20T19:21:02.526100Z"}, {"name": "execute", "started_at": "2022-07-20T19:21:02.526800Z", "completed_at": "2022-07-20T19:21:02.526803Z"}], "thread_id": "Thread-3", "execution_time": 0.008141040802001953, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.pinterest_source_integration_tests.ad_group_report_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T19:21:02.528350Z", "completed_at": "2022-07-20T19:21:02.531227Z"}, {"name": "execute", "started_at": "2022-07-20T19:21:02.532545Z", "completed_at": "2022-07-20T19:21:02.532549Z"}], "thread_id": "Thread-2", "execution_time": 0.0054378509521484375, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.pinterest_source_integration_tests.advertiser_history_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T19:21:02.528416Z", "completed_at": "2022-07-20T19:21:02.531303Z"}, {"name": "execute", "started_at": "2022-07-20T19:21:02.532636Z", "completed_at": "2022-07-20T19:21:02.532639Z"}], "thread_id": "Thread-1", "execution_time": 0.005474090576171875, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.pinterest_source_integration_tests.advertiser_report_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T19:21:02.528544Z", "completed_at": "2022-07-20T19:21:02.532181Z"}, {"name": "execute", "started_at": "2022-07-20T19:21:02.532803Z", "completed_at": "2022-07-20T19:21:02.532805Z"}], "thread_id": "Thread-4", "execution_time": 0.005450010299682617, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.pinterest_source_integration_tests.campaign_history_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T19:21:02.530301Z", "completed_at": "2022-07-20T19:21:02.532392Z"}, {"name": "execute", "started_at": "2022-07-20T19:21:02.533242Z", "completed_at": "2022-07-20T19:21:02.533245Z"}], "thread_id": "Thread-3", "execution_time": 0.005551815032958984, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.pinterest_source_integration_tests.campaign_report_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T19:21:02.534690Z", "completed_at": "2022-07-20T19:21:02.538515Z"}, {"name": "execute", "started_at": "2022-07-20T19:21:02.539724Z", "completed_at": "2022-07-20T19:21:02.539729Z"}], "thread_id": "Thread-2", "execution_time": 0.006146907806396484, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.pinterest_source_integration_tests.keyword_history_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T19:21:02.534755Z", "completed_at": "2022-07-20T19:21:02.538585Z"}, {"name": "execute", "started_at": "2022-07-20T19:21:02.539787Z", "completed_at": "2022-07-20T19:21:02.539788Z"}], "thread_id": "Thread-1", "execution_time": 0.006148815155029297, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.pinterest_source_integration_tests.keyword_report_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T19:21:02.534879Z", "completed_at": "2022-07-20T19:21:02.539420Z"}, {"name": "execute", "started_at": "2022-07-20T19:21:02.539908Z", "completed_at": "2022-07-20T19:21:02.539910Z"}], "thread_id": "Thread-4", "execution_time": 0.006107807159423828, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.pinterest_source_integration_tests.pin_promotion_history_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T19:21:02.537567Z", "completed_at": "2022-07-20T19:21:02.539607Z"}, {"name": "execute", "started_at": "2022-07-20T19:21:02.540249Z", "completed_at": "2022-07-20T19:21:02.540251Z"}], "thread_id": "Thread-3", "execution_time": 0.006168842315673828, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.pinterest_source_integration_tests.pin_promotion_report_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T19:21:02.541608Z", "completed_at": "2022-07-20T19:21:02.872477Z"}, {"name": "execute", "started_at": "2022-07-20T19:21:02.872763Z", "completed_at": "2022-07-20T19:21:02.872771Z"}], "thread_id": "Thread-2", "execution_time": 0.3590240478515625, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__ad_group_history"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T19:21:02.550218Z", "completed_at": "2022-07-20T19:21:02.875396Z"}, {"name": "execute", "started_at": "2022-07-20T19:21:02.875709Z", "completed_at": "2022-07-20T19:21:02.875712Z"}], "thread_id": "Thread-3", "execution_time": 0.3585689067840576, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__advertiser_history"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T19:21:02.541668Z", "completed_at": "2022-07-20T19:21:02.878457Z"}, {"name": "execute", "started_at": "2022-07-20T19:21:02.878757Z", "completed_at": "2022-07-20T19:21:02.878759Z"}], "thread_id": "Thread-1", "execution_time": 0.36767005920410156, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__ad_group_report"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T19:21:02.541802Z", "completed_at": "2022-07-20T19:21:02.878383Z"}, {"name": "execute", "started_at": "2022-07-20T19:21:02.878685Z", "completed_at": "2022-07-20T19:21:02.878689Z"}], "thread_id": "Thread-4", "execution_time": 0.3675980567932129, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__advertiser_report"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T19:21:02.901068Z", "completed_at": "2022-07-20T19:21:03.189172Z"}, {"name": "execute", "started_at": "2022-07-20T19:21:03.189500Z", "completed_at": "2022-07-20T19:21:03.189507Z"}], "thread_id": "Thread-3", "execution_time": 0.3149299621582031, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__campaign_history"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T19:21:02.909975Z", "completed_at": "2022-07-20T19:21:03.192819Z"}, {"name": "execute", "started_at": "2022-07-20T19:21:03.192995Z", "completed_at": "2022-07-20T19:21:03.192998Z"}], "thread_id": "Thread-1", "execution_time": 0.3117330074310303, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__keyword_history"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T19:21:02.900988Z", "completed_at": "2022-07-20T19:21:03.196964Z"}, {"name": "execute", "started_at": "2022-07-20T19:21:03.197441Z", "completed_at": "2022-07-20T19:21:03.197445Z"}], "thread_id": "Thread-2", "execution_time": 0.3254728317260742, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__campaign_report"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T19:21:02.910050Z", "completed_at": "2022-07-20T19:21:03.198151Z"}, {"name": "execute", "started_at": "2022-07-20T19:21:03.198301Z", "completed_at": "2022-07-20T19:21:03.198304Z"}], "thread_id": "Thread-4", "execution_time": 0.3163950443267822, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__keyword_report"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T19:21:03.227047Z", "completed_at": "2022-07-20T19:21:03.238107Z"}, {"name": "execute", "started_at": "2022-07-20T19:21:03.238406Z", "completed_at": "2022-07-20T19:21:03.238411Z"}], "thread_id": "Thread-2", "execution_time": 0.012002944946289062, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_history_ad_group_id___fivetran_synced.1132e1f339"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T19:21:03.227121Z", "completed_at": "2022-07-20T19:21:03.238180Z"}, {"name": "execute", "started_at": "2022-07-20T19:21:03.238474Z", "completed_at": "2022-07-20T19:21:03.238476Z"}], "thread_id": "Thread-4", "execution_time": 0.011984109878540039, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_history_ad_group_id.220c6220be"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T19:21:03.239426Z", "completed_at": "2022-07-20T19:21:03.243871Z"}, {"name": "execute", "started_at": "2022-07-20T19:21:03.244143Z", "completed_at": "2022-07-20T19:21:03.244147Z"}], "thread_id": "Thread-2", "execution_time": 0.005301713943481445, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_history_updated_at__advertiser_id.94e8f4de4b"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T19:21:03.239493Z", "completed_at": "2022-07-20T19:21:03.243931Z"}, {"name": "execute", "started_at": "2022-07-20T19:21:03.244216Z", "completed_at": "2022-07-20T19:21:03.244218Z"}], "thread_id": "Thread-4", "execution_time": 0.00529789924621582, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_history_advertiser_id.7d24f665fb"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T19:21:03.245131Z", "completed_at": "2022-07-20T19:21:03.249709Z"}, {"name": "execute", "started_at": "2022-07-20T19:21:03.249972Z", "completed_at": "2022-07-20T19:21:03.249976Z"}], "thread_id": "Thread-2", "execution_time": 0.005416393280029297, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_report_date_day__ad_group_id__campaign_id__advertiser_id.3800c02b0e"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T19:21:03.245194Z", "completed_at": "2022-07-20T19:21:03.249767Z"}, {"name": "execute", "started_at": "2022-07-20T19:21:03.250041Z", "completed_at": "2022-07-20T19:21:03.250044Z"}], "thread_id": "Thread-4", "execution_time": 0.005425930023193359, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_report_ad_group_id.bb8cf3c471"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T19:21:03.250928Z", "completed_at": "2022-07-20T19:21:03.255799Z"}, {"name": "execute", "started_at": "2022-07-20T19:21:03.256081Z", "completed_at": "2022-07-20T19:21:03.256086Z"}], "thread_id": "Thread-2", "execution_time": 0.005705833435058594, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_report_date_day.80e8904c4c"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T19:21:03.250991Z", "completed_at": "2022-07-20T19:21:03.255861Z"}, {"name": "execute", "started_at": "2022-07-20T19:21:03.256152Z", "completed_at": "2022-07-20T19:21:03.256154Z"}], "thread_id": "Thread-4", "execution_time": 0.005727291107177734, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_report_date_day__advertiser_id.e92ce8a9c0"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T19:21:03.257068Z", "completed_at": "2022-07-20T19:21:03.260850Z"}, {"name": "execute", "started_at": "2022-07-20T19:21:03.261050Z", "completed_at": "2022-07-20T19:21:03.261054Z"}], "thread_id": "Thread-2", "execution_time": 0.004539012908935547, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_report_advertiser_id.1b16ed73ff"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T19:21:03.257131Z", "completed_at": "2022-07-20T19:21:03.260978Z"}, {"name": "execute", "started_at": "2022-07-20T19:21:03.261319Z", "completed_at": "2022-07-20T19:21:03.261322Z"}], "thread_id": "Thread-4", "execution_time": 0.004712820053100586, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_report_date_day.153bd03c95"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T19:21:03.261997Z", "completed_at": "2022-07-20T19:21:03.266234Z"}, {"name": "execute", "started_at": "2022-07-20T19:21:03.266384Z", "completed_at": "2022-07-20T19:21:03.266388Z"}], "thread_id": "Thread-2", "execution_time": 0.004952907562255859, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_history_campaign_id___fivetran_synced.eff7196b87"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T19:21:03.264331Z", "completed_at": "2022-07-20T19:21:03.266443Z"}, {"name": "execute", "started_at": "2022-07-20T19:21:03.266818Z", "completed_at": "2022-07-20T19:21:03.266821Z"}], "thread_id": "Thread-4", "execution_time": 0.00516510009765625, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__campaign_history_campaign_id.60cb10d341"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T19:21:03.267282Z", "completed_at": "2022-07-20T19:21:03.271739Z"}, {"name": "execute", "started_at": "2022-07-20T19:21:03.271906Z", "completed_at": "2022-07-20T19:21:03.271910Z"}], "thread_id": "Thread-2", "execution_time": 0.0051441192626953125, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_history_keyword_id__ad_group_id___fivetran_synced.d122faa877"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T19:21:03.269865Z", "completed_at": "2022-07-20T19:21:03.272092Z"}, {"name": "execute", "started_at": "2022-07-20T19:21:03.272459Z", "completed_at": "2022-07-20T19:21:03.272462Z"}], "thread_id": "Thread-4", "execution_time": 0.005298137664794922, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__keyword_history_keyword_id.246889377a"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T19:21:03.296930Z", "completed_at": "2022-07-20T19:21:03.299018Z"}, {"name": "execute", "started_at": "2022-07-20T19:21:03.299161Z", "completed_at": "2022-07-20T19:21:03.299167Z"}], "thread_id": "Thread-4", "execution_time": 0.00263214111328125, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__campaign_report_campaign_id.a287eba0fc"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T19:21:03.272717Z", "completed_at": "2022-07-20T19:21:03.301458Z"}, {"name": "execute", "started_at": "2022-07-20T19:21:03.301666Z", "completed_at": "2022-07-20T19:21:03.301670Z"}], "thread_id": "Thread-2", "execution_time": 0.02946186065673828, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_report_date_day__campaign_id__advertiser_id.ff47cb8abc"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T19:21:03.299605Z", "completed_at": "2022-07-20T19:21:03.301866Z"}, {"name": "execute", "started_at": "2022-07-20T19:21:03.302235Z", "completed_at": "2022-07-20T19:21:03.302239Z"}], "thread_id": "Thread-4", "execution_time": 0.002988100051879883, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__campaign_report_date_day.7ef5fb1238"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T19:21:03.302499Z", "completed_at": "2022-07-20T19:21:03.307413Z"}, {"name": "execute", "started_at": "2022-07-20T19:21:03.307574Z", "completed_at": "2022-07-20T19:21:03.307578Z"}], "thread_id": "Thread-2", "execution_time": 0.005591869354248047, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_report_date_day__keyword_id__ad_group_id__campaign_id__advertiser_id.3ac101cc13"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T19:21:03.305518Z", "completed_at": "2022-07-20T19:21:03.307780Z"}, {"name": "execute", "started_at": "2022-07-20T19:21:03.308144Z", "completed_at": "2022-07-20T19:21:03.308147Z"}], "thread_id": "Thread-4", "execution_time": 0.0030510425567626953, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__keyword_report_date_day.9937216300"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T19:21:03.308423Z", "completed_at": "2022-07-20T19:21:03.310489Z"}, {"name": "execute", "started_at": "2022-07-20T19:21:03.310622Z", "completed_at": "2022-07-20T19:21:03.310625Z"}], "thread_id": "Thread-2", "execution_time": 0.002713918685913086, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__keyword_report_keyword_id.5f00679c48"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T19:21:03.216123Z", "completed_at": "2022-07-20T19:21:03.511486Z"}, {"name": "execute", "started_at": "2022-07-20T19:21:03.511699Z", "completed_at": "2022-07-20T19:21:03.511705Z"}], "thread_id": "Thread-3", "execution_time": 0.3186802864074707, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__pin_promotion_history"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T19:21:03.535406Z", "completed_at": "2022-07-20T19:21:03.541055Z"}, {"name": "execute", "started_at": "2022-07-20T19:21:03.541256Z", "completed_at": "2022-07-20T19:21:03.541262Z"}], "thread_id": "Thread-4", "execution_time": 0.006482839584350586, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_history__fivetran_synced__pin_promotion_id.8e9ab31ea9"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T19:21:03.221814Z", "completed_at": "2022-07-20T19:21:03.511927Z"}, {"name": "execute", "started_at": "2022-07-20T19:21:03.512095Z", "completed_at": "2022-07-20T19:21:03.512098Z"}], "thread_id": "Thread-1", "execution_time": 0.3201730251312256, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__pin_promotion_report"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T19:21:03.535490Z", "completed_at": "2022-07-20T19:21:03.541566Z"}, {"name": "execute", "started_at": "2022-07-20T19:21:03.542033Z", "completed_at": "2022-07-20T19:21:03.542036Z"}], "thread_id": "Thread-2", "execution_time": 0.007324934005737305, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_history_pin_promotion_id.171995cd34"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T19:21:03.543048Z", "completed_at": "2022-07-20T19:21:03.551263Z"}, {"name": "execute", "started_at": "2022-07-20T19:21:03.551535Z", "completed_at": "2022-07-20T19:21:03.551540Z"}], "thread_id": "Thread-3", "execution_time": 0.009589910507202148, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_report_date_day__pin_promotion_id__ad_group_id__campaign_id__advertiser_id.7ea04e6024"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T19:21:03.543120Z", "completed_at": "2022-07-20T19:21:03.551456Z"}, {"name": "execute", "started_at": "2022-07-20T19:21:03.551995Z", "completed_at": "2022-07-20T19:21:03.551998Z"}], "thread_id": "Thread-4", "execution_time": 0.009751081466674805, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_report_date_day.ed272212a1"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-07-20T19:21:03.543190Z", "completed_at": "2022-07-20T19:21:03.551621Z"}, {"name": "execute", "started_at": "2022-07-20T19:21:03.552122Z", "completed_at": "2022-07-20T19:21:03.552126Z"}], "thread_id": "Thread-1", "execution_time": 0.009759187698364258, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_report_pin_promotion_id.9c3c9f71ab"}], "elapsed_time": 1.764375925064087, "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.0.4", "generated_at": "2022-08-26T19:13:45.561372Z", "invocation_id": "8a46fe58-7668-438b-b339-da95094a0356", "env": {}}, "results": [{"status": "success", "timing": [{"name": "compile", "started_at": "2022-08-26T19:13:44.403134Z", "completed_at": "2022-08-26T19:13:44.415578Z"}, {"name": "execute", "started_at": "2022-08-26T19:13:44.416307Z", "completed_at": "2022-08-26T19:13:44.416316Z"}], "thread_id": "Thread-4", "execution_time": 0.015027046203613281, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__advertiser_report_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-08-26T19:13:44.402818Z", "completed_at": "2022-08-26T19:13:44.415752Z"}, {"name": "execute", "started_at": "2022-08-26T19:13:44.416391Z", "completed_at": "2022-08-26T19:13:44.416395Z"}], "thread_id": "Thread-1", "execution_time": 0.01634836196899414, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__ad_group_history_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-08-26T19:13:44.402936Z", "completed_at": "2022-08-26T19:13:44.415819Z"}, {"name": "execute", "started_at": "2022-08-26T19:13:44.416465Z", "completed_at": "2022-08-26T19:13:44.416468Z"}], "thread_id": "Thread-2", "execution_time": 0.016479015350341797, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__ad_group_report_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-08-26T19:13:44.403023Z", "completed_at": "2022-08-26T19:13:44.415892Z"}, {"name": "execute", "started_at": "2022-08-26T19:13:44.416595Z", "completed_at": "2022-08-26T19:13:44.416604Z"}], "thread_id": "Thread-3", "execution_time": 0.016495227813720703, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__advertiser_history_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-08-26T19:13:44.421949Z", "completed_at": "2022-08-26T19:13:44.440414Z"}, {"name": "execute", "started_at": "2022-08-26T19:13:44.440821Z", "completed_at": "2022-08-26T19:13:44.440833Z"}], "thread_id": "Thread-3", "execution_time": 0.020836830139160156, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__keyword_report_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-08-26T19:13:44.421542Z", "completed_at": "2022-08-26T19:13:44.440959Z"}, {"name": "execute", "started_at": "2022-08-26T19:13:44.442299Z", "completed_at": "2022-08-26T19:13:44.442307Z"}], "thread_id": "Thread-1", "execution_time": 0.02241992950439453, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__campaign_report_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-08-26T19:13:44.421432Z", "completed_at": "2022-08-26T19:13:44.441027Z"}, {"name": "execute", "started_at": "2022-08-26T19:13:44.442706Z", "completed_at": "2022-08-26T19:13:44.442717Z"}], "thread_id": "Thread-4", "execution_time": 0.023644208908081055, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__campaign_history_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-08-26T19:13:44.421831Z", "completed_at": "2022-08-26T19:13:44.441116Z"}, {"name": "execute", "started_at": "2022-08-26T19:13:44.443334Z", "completed_at": "2022-08-26T19:13:44.443339Z"}], "thread_id": "Thread-2", "execution_time": 0.023720264434814453, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__keyword_history_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-08-26T19:13:44.444429Z", "completed_at": "2022-08-26T19:13:44.451301Z"}, {"name": "execute", "started_at": "2022-08-26T19:13:44.454435Z", "completed_at": "2022-08-26T19:13:44.454443Z"}], "thread_id": "Thread-3", "execution_time": 0.012157917022705078, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__pin_promotion_history_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-08-26T19:13:44.448299Z", "completed_at": "2022-08-26T19:13:44.452799Z"}, {"name": "execute", "started_at": "2022-08-26T19:13:44.454781Z", "completed_at": "2022-08-26T19:13:44.454789Z"}], "thread_id": "Thread-1", "execution_time": 0.011559009552001953, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__pin_promotion_report_tmp"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-08-26T19:13:44.451175Z", "completed_at": "2022-08-26T19:13:44.454156Z"}, {"name": "execute", "started_at": "2022-08-26T19:13:44.455204Z", "completed_at": "2022-08-26T19:13:44.455207Z"}], "thread_id": "Thread-4", "execution_time": 0.010931968688964844, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.pinterest_source_integration_tests.ad_group_history_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-08-26T19:13:44.451527Z", "completed_at": "2022-08-26T19:13:44.454539Z"}, {"name": "execute", "started_at": "2022-08-26T19:13:44.455606Z", "completed_at": "2022-08-26T19:13:44.455609Z"}], "thread_id": "Thread-2", "execution_time": 0.007879972457885742, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.pinterest_source_integration_tests.ad_group_report_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-08-26T19:13:44.457103Z", "completed_at": "2022-08-26T19:13:44.460089Z"}, {"name": "execute", "started_at": "2022-08-26T19:13:44.464243Z", "completed_at": "2022-08-26T19:13:44.464252Z"}], "thread_id": "Thread-3", "execution_time": 0.008730173110961914, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.pinterest_source_integration_tests.advertiser_history_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-08-26T19:13:44.457420Z", "completed_at": "2022-08-26T19:13:44.461845Z"}, {"name": "execute", "started_at": "2022-08-26T19:13:44.464499Z", "completed_at": "2022-08-26T19:13:44.464502Z"}], "thread_id": "Thread-1", "execution_time": 0.00846099853515625, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.pinterest_source_integration_tests.advertiser_report_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-08-26T19:13:44.458838Z", "completed_at": "2022-08-26T19:13:44.463940Z"}, {"name": "execute", "started_at": "2022-08-26T19:13:44.464840Z", "completed_at": "2022-08-26T19:13:44.464843Z"}], "thread_id": "Thread-4", "execution_time": 0.008488178253173828, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.pinterest_source_integration_tests.campaign_history_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-08-26T19:13:44.460395Z", "completed_at": "2022-08-26T19:13:44.464347Z"}, {"name": "execute", "started_at": "2022-08-26T19:13:44.465204Z", "completed_at": "2022-08-26T19:13:44.465207Z"}], "thread_id": "Thread-2", "execution_time": 0.008519887924194336, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.pinterest_source_integration_tests.campaign_report_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-08-26T19:13:44.466574Z", "completed_at": "2022-08-26T19:13:44.469015Z"}, {"name": "execute", "started_at": "2022-08-26T19:13:44.471284Z", "completed_at": "2022-08-26T19:13:44.471291Z"}], "thread_id": "Thread-3", "execution_time": 0.006153106689453125, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.pinterest_source_integration_tests.keyword_history_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-08-26T19:13:44.466832Z", "completed_at": "2022-08-26T19:13:44.470075Z"}, {"name": "execute", "started_at": "2022-08-26T19:13:44.471503Z", "completed_at": "2022-08-26T19:13:44.471506Z"}], "thread_id": "Thread-1", "execution_time": 0.006010293960571289, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.pinterest_source_integration_tests.keyword_report_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-08-26T19:13:44.468041Z", "completed_at": "2022-08-26T19:13:44.471133Z"}, {"name": "execute", "started_at": "2022-08-26T19:13:44.471836Z", "completed_at": "2022-08-26T19:13:44.471839Z"}], "thread_id": "Thread-4", "execution_time": 0.006186962127685547, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.pinterest_source_integration_tests.pin_promotion_history_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-08-26T19:13:44.469120Z", "completed_at": "2022-08-26T19:13:44.471365Z"}, {"name": "execute", "started_at": "2022-08-26T19:13:44.472307Z", "completed_at": "2022-08-26T19:13:44.472317Z"}], "thread_id": "Thread-2", "execution_time": 0.0064280033111572266, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.pinterest_source_integration_tests.pin_promotion_report_data"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-08-26T19:13:44.485943Z", "completed_at": "2022-08-26T19:13:44.791554Z"}, {"name": "execute", "started_at": "2022-08-26T19:13:44.791739Z", "completed_at": "2022-08-26T19:13:44.791747Z"}], "thread_id": "Thread-2", "execution_time": 0.3428187370300293, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__advertiser_history"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-08-26T19:13:44.474280Z", "completed_at": "2022-08-26T19:13:44.793845Z"}, {"name": "execute", "started_at": "2022-08-26T19:13:44.794003Z", "completed_at": "2022-08-26T19:13:44.794007Z"}], "thread_id": "Thread-1", "execution_time": 0.35063695907592773, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__ad_group_history"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-08-26T19:13:44.473932Z", "completed_at": "2022-08-26T19:13:44.798337Z"}, {"name": "execute", "started_at": "2022-08-26T19:13:44.799002Z", "completed_at": "2022-08-26T19:13:44.799007Z"}], "thread_id": "Thread-3", "execution_time": 0.35140490531921387, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__advertiser_report"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-08-26T19:13:44.481571Z", "completed_at": "2022-08-26T19:13:44.799830Z"}, {"name": "execute", "started_at": "2022-08-26T19:13:44.799971Z", "completed_at": "2022-08-26T19:13:44.799975Z"}], "thread_id": "Thread-4", "execution_time": 0.3516390323638916, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__ad_group_report"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-08-26T19:13:44.834929Z", "completed_at": "2022-08-26T19:13:45.201360Z"}, {"name": "execute", "started_at": "2022-08-26T19:13:45.201910Z", "completed_at": "2022-08-26T19:13:45.201922Z"}], "thread_id": "Thread-4", "execution_time": 0.40291500091552734, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__keyword_history"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-08-26T19:13:44.826395Z", "completed_at": "2022-08-26T19:13:45.204920Z"}, {"name": "execute", "started_at": "2022-08-26T19:13:45.205236Z", "completed_at": "2022-08-26T19:13:45.205242Z"}], "thread_id": "Thread-3", "execution_time": 0.41043591499328613, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__campaign_history"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-08-26T19:13:44.826101Z", "completed_at": "2022-08-26T19:13:45.211260Z"}, {"name": "execute", "started_at": "2022-08-26T19:13:45.211576Z", "completed_at": "2022-08-26T19:13:45.211579Z"}], "thread_id": "Thread-1", "execution_time": 0.41580891609191895, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__campaign_report"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-08-26T19:13:44.817301Z", "completed_at": "2022-08-26T19:13:45.211107Z"}, {"name": "execute", "started_at": "2022-08-26T19:13:45.211337Z", "completed_at": "2022-08-26T19:13:45.211344Z"}], "thread_id": "Thread-2", "execution_time": 0.4239060878753662, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__keyword_report"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-08-26T19:13:45.242126Z", "completed_at": "2022-08-26T19:13:45.255589Z"}, {"name": "execute", "started_at": "2022-08-26T19:13:45.255999Z", "completed_at": "2022-08-26T19:13:45.256009Z"}], "thread_id": "Thread-1", "execution_time": 0.0146942138671875, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_history_updated_at__advertiser_id.94e8f4de4b"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-08-26T19:13:45.242209Z", "completed_at": "2022-08-26T19:13:45.255724Z"}, {"name": "execute", "started_at": "2022-08-26T19:13:45.256078Z", "completed_at": "2022-08-26T19:13:45.256081Z"}], "thread_id": "Thread-2", "execution_time": 0.014667749404907227, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_history_advertiser_id.7d24f665fb"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-08-26T19:13:45.257279Z", "completed_at": "2022-08-26T19:13:45.263651Z"}, {"name": "execute", "started_at": "2022-08-26T19:13:45.263945Z", "completed_at": "2022-08-26T19:13:45.263953Z"}], "thread_id": "Thread-1", "execution_time": 0.007392168045043945, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_history_ad_group_id___fivetran_synced.1132e1f339"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-08-26T19:13:45.257359Z", "completed_at": "2022-08-26T19:13:45.264021Z"}, {"name": "execute", "started_at": "2022-08-26T19:13:45.264727Z", "completed_at": "2022-08-26T19:13:45.264733Z"}], "thread_id": "Thread-2", "execution_time": 0.008080005645751953, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_history_ad_group_id.220c6220be"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-08-26T19:13:45.265351Z", "completed_at": "2022-08-26T19:13:45.271623Z"}, {"name": "execute", "started_at": "2022-08-26T19:13:45.271837Z", "completed_at": "2022-08-26T19:13:45.271844Z"}], "thread_id": "Thread-1", "execution_time": 0.007254123687744141, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__advertiser_report_date_day__advertiser_id.e92ce8a9c0"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-08-26T19:13:45.268467Z", "completed_at": "2022-08-26T19:13:45.271913Z"}, {"name": "execute", "started_at": "2022-08-26T19:13:45.272451Z", "completed_at": "2022-08-26T19:13:45.272456Z"}], "thread_id": "Thread-2", "execution_time": 0.0073299407958984375, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_report_advertiser_id.1b16ed73ff"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-08-26T19:13:45.273039Z", "completed_at": "2022-08-26T19:13:45.278462Z"}, {"name": "execute", "started_at": "2022-08-26T19:13:45.278690Z", "completed_at": "2022-08-26T19:13:45.278696Z"}], "thread_id": "Thread-1", "execution_time": 0.006395816802978516, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__advertiser_report_date_day.153bd03c95"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-08-26T19:13:45.275522Z", "completed_at": "2022-08-26T19:13:45.278625Z"}, {"name": "execute", "started_at": "2022-08-26T19:13:45.279058Z", "completed_at": "2022-08-26T19:13:45.279062Z"}], "thread_id": "Thread-2", "execution_time": 0.006196022033691406, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__ad_group_report_date_day__ad_group_id__campaign_id__advertiser_id.3800c02b0e"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-08-26T19:13:45.279827Z", "completed_at": "2022-08-26T19:13:45.284223Z"}, {"name": "execute", "started_at": "2022-08-26T19:13:45.284386Z", "completed_at": "2022-08-26T19:13:45.284391Z"}], "thread_id": "Thread-1", "execution_time": 0.005182027816772461, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_report_ad_group_id.bb8cf3c471"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-08-26T19:13:45.282028Z", "completed_at": "2022-08-26T19:13:45.284441Z"}, {"name": "execute", "started_at": "2022-08-26T19:13:45.284879Z", "completed_at": "2022-08-26T19:13:45.284882Z"}], "thread_id": "Thread-2", "execution_time": 0.005426883697509766, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__ad_group_report_date_day.80e8904c4c"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-08-26T19:13:45.285354Z", "completed_at": "2022-08-26T19:13:45.290064Z"}, {"name": "execute", "started_at": "2022-08-26T19:13:45.290251Z", "completed_at": "2022-08-26T19:13:45.290255Z"}], "thread_id": "Thread-1", "execution_time": 0.00543212890625, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_history_keyword_id__ad_group_id___fivetran_synced.d122faa877"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-08-26T19:13:45.288136Z", "completed_at": "2022-08-26T19:13:45.290455Z"}, {"name": "execute", "started_at": "2022-08-26T19:13:45.290829Z", "completed_at": "2022-08-26T19:13:45.290832Z"}], "thread_id": "Thread-2", "execution_time": 0.0055811405181884766, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__keyword_history_keyword_id.246889377a"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-08-26T19:13:45.291094Z", "completed_at": "2022-08-26T19:13:45.340418Z"}, {"name": "execute", "started_at": "2022-08-26T19:13:45.340674Z", "completed_at": "2022-08-26T19:13:45.340681Z"}], "thread_id": "Thread-1", "execution_time": 0.05023002624511719, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_history_campaign_id___fivetran_synced.eff7196b87"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-08-26T19:13:45.337762Z", "completed_at": "2022-08-26T19:13:45.340760Z"}, {"name": "execute", "started_at": "2022-08-26T19:13:45.341248Z", "completed_at": "2022-08-26T19:13:45.341251Z"}], "thread_id": "Thread-2", "execution_time": 0.004264354705810547, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__campaign_history_campaign_id.60cb10d341"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-08-26T19:13:45.342006Z", "completed_at": "2022-08-26T19:13:45.347704Z"}, {"name": "execute", "started_at": "2022-08-26T19:13:45.347955Z", "completed_at": "2022-08-26T19:13:45.347963Z"}], "thread_id": "Thread-1", "execution_time": 0.006834983825683594, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__campaign_report_date_day__campaign_id__advertiser_id.ff47cb8abc"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-08-26T19:13:45.345479Z", "completed_at": "2022-08-26T19:13:45.347879Z"}, {"name": "execute", "started_at": "2022-08-26T19:13:45.348292Z", "completed_at": "2022-08-26T19:13:45.348295Z"}], "thread_id": "Thread-2", "execution_time": 0.006459951400756836, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__campaign_report_campaign_id.a287eba0fc"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-08-26T19:13:45.349080Z", "completed_at": "2022-08-26T19:13:45.355064Z"}, {"name": "execute", "started_at": "2022-08-26T19:13:45.355429Z", "completed_at": "2022-08-26T19:13:45.355437Z"}], "thread_id": "Thread-1", "execution_time": 0.007050991058349609, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__campaign_report_date_day.7ef5fb1238"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-08-26T19:13:45.351543Z", "completed_at": "2022-08-26T19:13:45.355340Z"}, {"name": "execute", "started_at": "2022-08-26T19:13:45.355778Z", "completed_at": "2022-08-26T19:13:45.355781Z"}], "thread_id": "Thread-2", "execution_time": 0.007086992263793945, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__keyword_report_date_day__keyword_id__ad_group_id__campaign_id__advertiser_id.3ac101cc13"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-08-26T19:13:45.356638Z", "completed_at": "2022-08-26T19:13:45.362591Z"}, {"name": "execute", "started_at": "2022-08-26T19:13:45.362842Z", "completed_at": "2022-08-26T19:13:45.362849Z"}], "thread_id": "Thread-1", "execution_time": 0.006896018981933594, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__keyword_report_date_day.9937216300"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-08-26T19:13:45.360032Z", "completed_at": "2022-08-26T19:13:45.363121Z"}, {"name": "execute", "started_at": "2022-08-26T19:13:45.363405Z", "completed_at": "2022-08-26T19:13:45.363410Z"}], "thread_id": "Thread-2", "execution_time": 0.007059812545776367, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__keyword_report_keyword_id.5f00679c48"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-08-26T19:13:45.229758Z", "completed_at": "2022-08-26T19:13:45.517223Z"}, {"name": "execute", "started_at": "2022-08-26T19:13:45.517441Z", "completed_at": "2022-08-26T19:13:45.517446Z"}], "thread_id": "Thread-4", "execution_time": 0.31034183502197266, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__pin_promotion_history"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-08-26T19:13:45.236430Z", "completed_at": "2022-08-26T19:13:45.516029Z"}, {"name": "execute", "started_at": "2022-08-26T19:13:45.516384Z", "completed_at": "2022-08-26T19:13:45.516394Z"}], "thread_id": "Thread-3", "execution_time": 0.3106358051300049, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.pinterest_source.stg_pinterest_ads__pin_promotion_report"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-08-26T19:13:45.540273Z", "completed_at": "2022-08-26T19:13:45.546620Z"}, {"name": "execute", "started_at": "2022-08-26T19:13:45.547656Z", "completed_at": "2022-08-26T19:13:45.547664Z"}], "thread_id": "Thread-1", "execution_time": 0.00833892822265625, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_history__fivetran_synced__pin_promotion_id.8e9ab31ea9"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-08-26T19:13:45.544120Z", "completed_at": "2022-08-26T19:13:45.547362Z"}, {"name": "execute", "started_at": "2022-08-26T19:13:45.548523Z", "completed_at": "2022-08-26T19:13:45.548527Z"}], "thread_id": "Thread-2", "execution_time": 0.005330801010131836, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_history_pin_promotion_id.171995cd34"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-08-26T19:13:45.549116Z", "completed_at": "2022-08-26T19:13:45.559000Z"}, {"name": "execute", "started_at": "2022-08-26T19:13:45.559394Z", "completed_at": "2022-08-26T19:13:45.559401Z"}], "thread_id": "Thread-4", "execution_time": 0.011847972869873047, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.dbt_utils_unique_combination_of_columns_stg_pinterest_ads__pin_promotion_report_date_day__pin_promotion_id__ad_group_id__campaign_id__advertiser_id.7ea04e6024"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-08-26T19:13:45.549207Z", "completed_at": "2022-08-26T19:13:45.559084Z"}, {"name": "execute", "started_at": "2022-08-26T19:13:45.559489Z", "completed_at": "2022-08-26T19:13:45.559492Z"}], "thread_id": "Thread-3", "execution_time": 0.011808156967163086, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_report_date_day.ed272212a1"}, {"status": "success", "timing": [{"name": "compile", "started_at": "2022-08-26T19:13:45.556381Z", "completed_at": "2022-08-26T19:13:45.559324Z"}, {"name": "execute", "started_at": "2022-08-26T19:13:45.560040Z", "completed_at": "2022-08-26T19:13:45.560043Z"}], "thread_id": "Thread-1", "execution_time": 0.011029958724975586, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.pinterest_source.not_null_stg_pinterest_ads__pin_promotion_report_pin_promotion_id.9c3c9f71ab"}], "elapsed_time": 1.8589251041412354, "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 diff --git a/models/src_pinterest_ads.yml b/models/src_pinterest_ads.yml index 8d93c80..3a0d51c 100644 --- a/models/src_pinterest_ads.yml +++ b/models/src_pinterest_ads.yml @@ -12,12 +12,13 @@ sources: warn_after: {count: 48, period: hour} error_after: {count: 168, period: hour} + config: + enabled: "{{ var('ad_reporting__pinterest_ads_enabled', true) }}" + tables: - name: pin_promotion_report description: Each record represents the daily performance of a Pinterest Pin promotion. identifier: "{{ var('pinterest_pin_promotion_report_identifier', 'pin_promotion_report') }}" - config: - enabled: "{{ var('ad_reporting__pinterest_ads_enabled', true) }}" columns: - name: date description: "{{ doc('date_day') }}" @@ -45,8 +46,6 @@ sources: - name: pin_promotion_history description: Each record represents a version of a Pinterest Pin promotion. identifier: "{{ var('pinterest_pin_promotion_history_identifier', 'pin_promotion_history') }}" - config: - enabled: "{{ var('ad_reporting__pinterest_ads_enabled', true) }}" columns: - name: id description: "{{ doc('pin_promotion_id') }}" @@ -73,8 +72,6 @@ sources: - name: campaign_history description: Each record represents a version of a Pinterest Campaign. identifier: "{{ var('pinterest_campaign_history_identifier', 'campaign_history') }}" - config: - enabled: "{{ var('ad_reporting__pinterest_ads_enabled', true) }}" columns: - name: id description: "{{ doc('campaign_id') }}" @@ -90,8 +87,6 @@ sources: - name: ad_group_history description: Each record represents a version of a Pinterest Ad Group. identifier: "{{ var('pinterest_ad_group_history_identifier', 'ad_group_history') }}" - config: - enabled: "{{ var('ad_reporting__pinterest_ads_enabled', true) }}" columns: - name: id description: "{{ doc('ad_group_id') }}" @@ -113,8 +108,6 @@ sources: - name: ad_group_report description: Each record represents the daily performance of a Pinterest ad group. identifier: "{{ var('pinterest_ad_group_report_identifier', 'ad_group_report') }}" - config: - enabled: "{{ var('ad_reporting__pinterest_ads_enabled', true) }}" columns: - name: date description: "{{ doc('date_day') }}" @@ -144,8 +137,6 @@ sources: - name: advertiser_history description: Each record represents a version of a Pinterest advertiser. identifier: "{{ var('pinterest_advertiser_history_identifier', 'advertiser_history') }}" - config: - enabled: "{{ var('ad_reporting__pinterest_ads_enabled', true) }}" columns: - name: id description: "{{ doc('advertiser_id') }}" @@ -175,8 +166,6 @@ sources: - name: advertiser_report description: Each record represents the daily performance of a Pinterest advertiser. identifier: "{{ var('pinterest_advertiser_report_identifier', 'advertiser_report') }}" - config: - enabled: "{{ var('ad_reporting__pinterest_ads_enabled', true) }}" columns: - name: date description: "{{ doc('date_day') }}" @@ -198,8 +187,6 @@ sources: - name: campaign_report description: Each record represents the daily performance of a Pinterest campaign. identifier: "{{ var('pinterest_campaign_report_identifier', 'campaign_report') }}" - config: - enabled: "{{ var('ad_reporting__pinterest_ads_enabled', true) }}" columns: - name: date description: "{{ doc('date_day') }}" @@ -227,8 +214,6 @@ sources: - name: keyword_history description: Each record represents a version of a Pinterest keyword. identifier: "{{ var('pinterest_keyword_history_identifier', 'keyword_history') }}" - config: - enabled: "{{ var('ad_reporting__pinterest_ads_enabled', true) }}" columns: - name: id description: Unique identifier of the keyword. @@ -256,8 +241,6 @@ sources: - name: keyword_report description: Each record represents the daily performance of a Pinterest key word. identifier: "{{ var('pinterest_keyword_report_identifier', 'keyword_report') }}" - config: - enabled: "{{ var('ad_reporting__pinterest_ads_enabled', true) }}" columns: - name: date description: "{{ doc('date_day') }}" From 81e33a3ab9cf2d244e9bbac219de7627ed5f46c4 Mon Sep 17 00:00:00 2001 From: fivetran-sheringuyen <94874400+fivetran-sheringuyen@users.noreply.github.com> Date: Tue, 30 Aug 2022 13:43:17 -0800 Subject: [PATCH 12/15] updating date_trunc --- models/stg_pinterest_ads__ad_group_report.sql | 2 +- models/stg_pinterest_ads__advertiser_report.sql | 2 +- models/stg_pinterest_ads__campaign_report.sql | 2 +- models/stg_pinterest_ads__keyword_report.sql | 2 +- models/stg_pinterest_ads__pin_promotion_report.sql | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/models/stg_pinterest_ads__ad_group_report.sql b/models/stg_pinterest_ads__ad_group_report.sql index aa1af05..4b1b5b9 100644 --- a/models/stg_pinterest_ads__ad_group_report.sql +++ b/models/stg_pinterest_ads__ad_group_report.sql @@ -21,7 +21,7 @@ fields as ( final as ( select - date as date_day, + {{ dbt_utils.date_trunc('day', 'date') }} as date_day, ad_group_id, ad_group_name, ad_group_status, diff --git a/models/stg_pinterest_ads__advertiser_report.sql b/models/stg_pinterest_ads__advertiser_report.sql index 2abc177..adfe0f8 100644 --- a/models/stg_pinterest_ads__advertiser_report.sql +++ b/models/stg_pinterest_ads__advertiser_report.sql @@ -21,7 +21,7 @@ fields as ( final as ( select - date as date_day, + {{ dbt_utils.date_trunc('day', 'date') }} as date_day, advertiser_id, coalesce(impression_1,0) + coalesce(impression_2,0) as impressions, coalesce(clickthrough_1,0) + coalesce(clickthrough_2,0) as clicks, diff --git a/models/stg_pinterest_ads__campaign_report.sql b/models/stg_pinterest_ads__campaign_report.sql index 883e983..5e0a040 100644 --- a/models/stg_pinterest_ads__campaign_report.sql +++ b/models/stg_pinterest_ads__campaign_report.sql @@ -21,7 +21,7 @@ fields as ( final as ( select - date as date_day, + {{ dbt_utils.date_trunc('day', 'date') }} as date_day, campaign_id, campaign_name, campaign_status, diff --git a/models/stg_pinterest_ads__keyword_report.sql b/models/stg_pinterest_ads__keyword_report.sql index 9ab322f..9cb7e3c 100644 --- a/models/stg_pinterest_ads__keyword_report.sql +++ b/models/stg_pinterest_ads__keyword_report.sql @@ -21,7 +21,7 @@ fields as ( final as ( select - date as date_day, + {{ dbt_utils.date_trunc('day', 'date') }} as date_day, keyword_id, pin_promotion_id, ad_group_id, diff --git a/models/stg_pinterest_ads__pin_promotion_report.sql b/models/stg_pinterest_ads__pin_promotion_report.sql index 8a5c32d..713a9d6 100644 --- a/models/stg_pinterest_ads__pin_promotion_report.sql +++ b/models/stg_pinterest_ads__pin_promotion_report.sql @@ -21,7 +21,7 @@ fields as ( final as ( select - date as date_day, + {{ dbt_utils.date_trunc('day', 'date') }} as date_day, pin_promotion_id, ad_group_id, campaign_id, From bafde9a0489e10859e538ef12147f822beb736a8 Mon Sep 17 00:00:00 2001 From: fivetran-sheringuyen <94874400+fivetran-sheringuyen@users.noreply.github.com> Date: Tue, 30 Aug 2022 13:51:13 -0800 Subject: [PATCH 13/15] updating seeds --- .../seeds/ad_group_report_data.csv | 20 +++---- .../seeds/advertiser_report_data.csv | 20 +++---- .../seeds/campaign_report_data.csv | 20 +++---- .../seeds/keyword_report_data.csv | 58 +++++++++---------- 4 files changed, 59 insertions(+), 59 deletions(-) diff --git a/integration_tests/seeds/ad_group_report_data.csv b/integration_tests/seeds/ad_group_report_data.csv index f186906..2fde313 100644 --- a/integration_tests/seeds/ad_group_report_data.csv +++ b/integration_tests/seeds/ad_group_report_data.csv @@ -1,11 +1,11 @@ ad_group_id,advertiser_id,date,_fivetran_synced,ad_group_name,ad_group_status,campaign_daily_spend_cap,campaign_id,campaign_lifetime_spend_cap,campaign_name,campaign_status,clickthrough_1,clickthrough_1_gross,cpc_in_micro_dollar,cpm_in_micro_dollar,ctr,ecpc_in_micro_dollar,ecpm_in_micro_dollar,ectr,engagement_1,impression_1,impression_1_gross,outbound_click_1,paid_impression,spend_in_micro_dollar,total_engagement,total_impression_frequency,total_impression_user -2680072242253,549764253315,2022-06-07 0:00:00,2022-06-30 14:31:03,2022-06-07 14:30 | Ad group,COMPLETED,0,626746449918,25000000,Cat Campaign: Brand Awareness,COMPLETED,,,,3222224.215,,,3222224.215,,,223,267,,223,718556,,1.173684211,190 -2680072242253,549764253315,2022-06-08 0:00:00,2022-06-30 14:31:03,2022-06-07 14:30 | Ad group,COMPLETED,0,626746449918,25000000,Cat Campaign: Brand Awareness,COMPLETED,,,,2330311.663,,,2330311.663,,9,1046,1341,,1046,2437506,9,1.309136421,799 -2680072242253,549764253315,2022-06-14 0:00:00,2022-06-30 14:31:03,2022-06-07 14:30 | Ad group,COMPLETED,0,626746449918,25000000,Cat Campaign: Brand Awareness,COMPLETED,,,,2002916.391,,,2002916.391,,2,1208,1401,,1208,2419523,2,1.01769166,1187 -2680072242253,549764253315,2022-06-15 0:00:00,2022-06-30 14:31:03,2022-06-07 14:30 | Ad group,COMPLETED,0,626746449918,25000000,Cat Campaign: Brand Awareness,COMPLETED,,,,2000669.148,,,2000669.148,,4,1209,1345,,1209,2418809,4,1.085278276,1114 -2680072242253,549764253315,2022-06-10 0:00:00,2022-06-30 14:31:03,2022-06-07 14:30 | Ad group,COMPLETED,0,626746449918,25000000,Cat Campaign: Brand Awareness,COMPLETED,1,1,2424901,2025815.372,0.0008354218881,2424901,2025815.372,0.0008354218881,8,1197,1417,,1197,2424901,8,1.134597156,1055 -2680072242253,549764253315,2022-06-16 0:00:00,2022-06-30 14:31:03,2022-06-07 14:30 | Ad group,COMPLETED,0,626746449918,25000000,Cat Campaign: Brand Awareness,COMPLETED,1,1,1346372,2000552.749,0.001485884101,1346372,2000552.749,0.001485884101,8,673,712,,673,1346372,8,0.9655667145,697 -2680072242253,549764253315,2022-06-09 0:00:00,2022-06-30 14:31:03,2022-06-07 14:30 | Ad group,COMPLETED,0,626746449918,25000000,Cat Campaign: Brand Awareness,COMPLETED,1,1,2436977,2347762.042,0.0009633911368,2436977,2347762.042,0.0009633911368,16,1038,1262,1,1038,2436977,16,1.098412698,945 -2680072242253,549764253315,2022-06-11 0:00:00,2022-06-30 14:31:03,2022-06-07 14:30 | Ad group,COMPLETED,0,626746449918,25000000,Cat Campaign: Brand Awareness,COMPLETED,3,3,811233.6667,2060712.108,0.002540220152,811233.6667,2060712.108,0.002540220152,22,1181,1369,1,1181,2433701,22,1.098604651,1075 -2680072242253,549764253315,2022-06-12 0:00:00,2022-06-30 14:31:03,2022-06-07 14:30 | Ad group,COMPLETED,0,626746449918,25000000,Cat Campaign: Brand Awareness,COMPLETED,1,1,2425572,2078467.866,0.0008568980291,2425572,2078467.866,0.0008568980291,10,1167,1370,1,1167,2425572,10,1.200617284,972 -2680072242253,549764253315,2022-06-13 0:00:00,2022-06-30 14:31:03,2022-06-07 14:30 | Ad group,COMPLETED,0,626746449918,25000000,Cat Campaign: Brand Awareness,COMPLETED,2,2,1217487,2053097.808,0.001686340641,1217487,2053097.808,0.001686340641,15,1186,1417,2,1185,2434974,15,1.070397112,1108 \ No newline at end of file +2680072242253,549764253315,2022-06-07 00:00:00,2022-06-30 14:31:03,2022-06-07 14:30 | Ad group,COMPLETED,0,626746449918,25000000,Cat Campaign: Brand Awareness,COMPLETED,,,,3222224.215,,,3222224.215,,,223,267,,223,718556,,1.173684211,190 +2680072242253,549764253315,2022-06-08 00:00:00,2022-06-30 14:31:03,2022-06-07 14:30 | Ad group,COMPLETED,0,626746449918,25000000,Cat Campaign: Brand Awareness,COMPLETED,,,,2330311.663,,,2330311.663,,9,1046,1341,,1046,2437506,9,1.309136421,799 +2680072242253,549764253315,2022-06-14 00:00:00,2022-06-30 14:31:03,2022-06-07 14:30 | Ad group,COMPLETED,0,626746449918,25000000,Cat Campaign: Brand Awareness,COMPLETED,,,,2002916.391,,,2002916.391,,2,1208,1401,,1208,2419523,2,1.01769166,1187 +2680072242253,549764253315,2022-06-15 00:00:00,2022-06-30 14:31:03,2022-06-07 14:30 | Ad group,COMPLETED,0,626746449918,25000000,Cat Campaign: Brand Awareness,COMPLETED,,,,2000669.148,,,2000669.148,,4,1209,1345,,1209,2418809,4,1.085278276,1114 +2680072242253,549764253315,2022-06-10 00:00:00,2022-06-30 14:31:03,2022-06-07 14:30 | Ad group,COMPLETED,0,626746449918,25000000,Cat Campaign: Brand Awareness,COMPLETED,1,1,2424901,2025815.372,0.0008354218881,2424901,2025815.372,0.0008354218881,8,1197,1417,,1197,2424901,8,1.134597156,1055 +2680072242253,549764253315,2022-06-16 00:00:00,2022-06-30 14:31:03,2022-06-07 14:30 | Ad group,COMPLETED,0,626746449918,25000000,Cat Campaign: Brand Awareness,COMPLETED,1,1,1346372,2000552.749,0.001485884101,1346372,2000552.749,0.001485884101,8,673,712,,673,1346372,8,0.9655667145,697 +2680072242253,549764253315,2022-06-09 00:00:00,2022-06-30 14:31:03,2022-06-07 14:30 | Ad group,COMPLETED,0,626746449918,25000000,Cat Campaign: Brand Awareness,COMPLETED,1,1,2436977,2347762.042,0.0009633911368,2436977,2347762.042,0.0009633911368,16,1038,1262,1,1038,2436977,16,1.098412698,945 +2680072242253,549764253315,2022-06-11 00:00:00,2022-06-30 14:31:03,2022-06-07 14:30 | Ad group,COMPLETED,0,626746449918,25000000,Cat Campaign: Brand Awareness,COMPLETED,3,3,811233.6667,2060712.108,0.002540220152,811233.6667,2060712.108,0.002540220152,22,1181,1369,1,1181,2433701,22,1.098604651,1075 +2680072242253,549764253315,2022-06-12 00:00:00,2022-06-30 14:31:03,2022-06-07 14:30 | Ad group,COMPLETED,0,626746449918,25000000,Cat Campaign: Brand Awareness,COMPLETED,1,1,2425572,2078467.866,0.0008568980291,2425572,2078467.866,0.0008568980291,10,1167,1370,1,1167,2425572,10,1.200617284,972 +2680072242253,549764253315,2022-06-13 00:00:00,2022-06-30 14:31:03,2022-06-07 14:30 | Ad group,COMPLETED,0,626746449918,25000000,Cat Campaign: Brand Awareness,COMPLETED,2,2,1217487,2053097.808,0.001686340641,1217487,2053097.808,0.001686340641,15,1186,1417,2,1185,2434974,15,1.070397112,1108 \ No newline at end of file diff --git a/integration_tests/seeds/advertiser_report_data.csv b/integration_tests/seeds/advertiser_report_data.csv index c116f12..32f2210 100644 --- a/integration_tests/seeds/advertiser_report_data.csv +++ b/integration_tests/seeds/advertiser_report_data.csv @@ -1,11 +1,11 @@ advertiser_id,date,_fivetran_synced,clickthrough_1,clickthrough_1_gross,cpc_in_micro_dollar,cpm_in_micro_dollar,ctr,ecpc_in_micro_dollar,ecpm_in_micro_dollar,ectr,engagement_1,impression_1,impression_1_gross,outbound_click_1,paid_impression,spend_in_micro_dollar,total_engagement,total_impression_frequency,total_impression_user -549764253315,2022-06-15 0:00:00,2022-06-30 14:30:04,,,,2000669.148,,,2000669.148,,4,1209,1345,,1209,2418809,4,1.085278276,1114 -549764253315,2022-06-07 0:00:00,2022-06-30 14:30:04,,,,3222224.215,,,3222224.215,,,223,267,,223,718556,,1.173684211,190 -549764253315,2022-06-08 0:00:00,2022-06-30 14:30:04,,,,2330311.663,,,2330311.663,,9,1046,1341,,1046,2437506,9,1.309136421,799 -549764253315,2022-06-14 0:00:00,2022-06-30 14:30:04,,,,2002916.391,,,2002916.391,,2,1208,1401,,1208,2419523,2,1.01769166,1187 -549764253315,2022-06-10 0:00:00,2022-06-30 14:30:04,1,1,2424901,2025815.372,0.0008354218881,2424901,2025815.372,0.0008354218881,8,1197,1417,,1197,2424901,8,1.134597156,1055 -549764253315,2022-06-16 0:00:00,2022-06-30 14:30:04,1,1,1346372,2000552.749,0.001485884101,1346372,2000552.749,0.001485884101,8,673,712,,673,1346372,8,0.9655667145,697 -549764253315,2022-06-11 0:00:00,2022-06-30 14:30:04,3,3,811233.6667,2060712.108,0.002540220152,811233.6667,2060712.108,0.002540220152,22,1181,1369,1,1181,2433701,22,1.098604651,1075 -549764253315,2022-06-12 0:00:00,2022-06-30 14:30:04,1,1,2425572,2078467.866,0.0008568980291,2425572,2078467.866,0.0008568980291,10,1167,1370,1,1167,2425572,10,1.200617284,972 -549764253315,2022-06-09 0:00:00,2022-06-30 14:30:04,1,1,2436977,2347762.042,0.0009633911368,2436977,2347762.042,0.0009633911368,16,1038,1262,1,1038,2436977,16,1.098412698,945 -549764253315,2022-06-13 0:00:00,2022-06-30 14:30:04,2,2,1217487,2053097.808,0.001686340641,1217487,2053097.808,0.001686340641,15,1186,1417,2,1185,2434974,15,1.070397112,1108 \ No newline at end of file +549764253315,2022-06-15 00:00:00,2022-06-30 14:30:04,,,,2000669.148,,,2000669.148,,4,1209,1345,,1209,2418809,4,1.085278276,1114 +549764253315,2022-06-07 00:00:00,2022-06-30 14:30:04,,,,3222224.215,,,3222224.215,,,223,267,,223,718556,,1.173684211,190 +549764253315,2022-06-08 00:00:00,2022-06-30 14:30:04,,,,2330311.663,,,2330311.663,,9,1046,1341,,1046,2437506,9,1.309136421,799 +549764253315,2022-06-14 00:00:00,2022-06-30 14:30:04,,,,2002916.391,,,2002916.391,,2,1208,1401,,1208,2419523,2,1.01769166,1187 +549764253315,2022-06-10 00:00:00,2022-06-30 14:30:04,1,1,2424901,2025815.372,0.0008354218881,2424901,2025815.372,0.0008354218881,8,1197,1417,,1197,2424901,8,1.134597156,1055 +549764253315,2022-06-16 00:00:00,2022-06-30 14:30:04,1,1,1346372,2000552.749,0.001485884101,1346372,2000552.749,0.001485884101,8,673,712,,673,1346372,8,0.9655667145,697 +549764253315,2022-06-11 00:00:00,2022-06-30 14:30:04,3,3,811233.6667,2060712.108,0.002540220152,811233.6667,2060712.108,0.002540220152,22,1181,1369,1,1181,2433701,22,1.098604651,1075 +549764253315,2022-06-12 00:00:00,2022-06-30 14:30:04,1,1,2425572,2078467.866,0.0008568980291,2425572,2078467.866,0.0008568980291,10,1167,1370,1,1167,2425572,10,1.200617284,972 +549764253315,2022-06-09 00:00:00,2022-06-30 14:30:04,1,1,2436977,2347762.042,0.0009633911368,2436977,2347762.042,0.0009633911368,16,1038,1262,1,1038,2436977,16,1.098412698,945 +549764253315,2022-06-13 00:00:00,2022-06-30 14:30:04,2,2,1217487,2053097.808,0.001686340641,1217487,2053097.808,0.001686340641,15,1186,1417,2,1185,2434974,15,1.070397112,1108 \ No newline at end of file diff --git a/integration_tests/seeds/campaign_report_data.csv b/integration_tests/seeds/campaign_report_data.csv index a7ffac7..2c772ac 100644 --- a/integration_tests/seeds/campaign_report_data.csv +++ b/integration_tests/seeds/campaign_report_data.csv @@ -1,11 +1,11 @@ advertiser_id,campaign_id,date,_fivetran_synced,campaign_daily_spend_cap,campaign_lifetime_spend_cap,campaign_name,campaign_status,clickthrough_1,clickthrough_1_gross,cpc_in_micro_dollar,cpm_in_micro_dollar,ctr,ecpc_in_micro_dollar,ecpm_in_micro_dollar,ectr,engagement_1,impression_1,impression_1_gross,outbound_click_1,paid_impression,spend_in_micro_dollar,total_engagement,total_impression_frequency,total_impression_user -549764253315,626746449918,2022-06-08 0:00:00,2022-06-30 14:10:07,0,25000000,My Cat Is Purrfect,COMPLETED,,,,2330311.663,,,2330311.663,,9,1046,1341,,1046,2437506,9,1.309136421,799 -549764253315,626746449918,2022-06-14 0:00:00,2022-06-30 14:10:07,0,25000000,My Cat Is Purrfect,COMPLETED,,,,2002916.391,,,2002916.391,,2,1208,1401,,1208,2419523,2,1.01769166,1187 -549764253315,626746449918,2022-06-15 0:00:00,2022-06-30 14:10:07,0,25000000,My Cat Is Purrfect,COMPLETED,,,,2000669.148,,,2000669.148,,4,1209,1345,,1209,2418809,4,1.085278276,1114 -549764253315,626746449918,2022-06-07 0:00:00,2022-06-30 14:10:07,0,25000000,My Cat Is Purrfect,COMPLETED,,,,3222224.215,,,3222224.215,,,223,267,,223,718556,,1.173684211,190 -549764253315,626746449918,2022-06-10 0:00:00,2022-06-30 14:10:07,0,25000000,My Cat Is Purrfect,COMPLETED,1,1,2424901,2025815.372,0.0008354218881,2424901,2025815.372,0.0008354218881,8,1197,1417,,1197,2424901,8,1.134597156,1055 -549764253315,626746449918,2022-06-16 0:00:00,2022-06-30 14:10:07,0,25000000,My Cat Is Purrfect,COMPLETED,1,1,1346372,2000552.749,0.001485884101,1346372,2000552.749,0.001485884101,8,673,712,,673,1346372,8,0.9655667145,697 -549764253315,626746449918,2022-06-11 0:00:00,2022-06-30 14:10:07,0,25000000,My Cat Is Purrfect,COMPLETED,3,3,811233.6667,2060712.108,0.002540220152,811233.6667,2060712.108,0.002540220152,22,1181,1369,1,1181,2433701,22,1.098604651,1075 -549764253315,626746449918,2022-06-12 0:00:00,2022-06-30 14:10:07,0,25000000,My Cat Is Purrfect,COMPLETED,1,1,2425572,2078467.866,0.0008568980291,2425572,2078467.866,0.0008568980291,10,1167,1370,1,1167,2425572,10,1.200617284,972 -549764253315,626746449918,2022-06-09 0:00:00,2022-06-30 14:10:07,0,25000000,My Cat Is Purrfect,COMPLETED,1,1,2436977,2347762.042,0.0009633911368,2436977,2347762.042,0.0009633911368,16,1038,1262,1,1038,2436977,16,1.098412698,945 -549764253315,626746449918,2022-06-13 0:00:00,2022-06-30 14:10:07,0,25000000,My Cat Is Purrfect,COMPLETED,2,2,1217487,2053097.808,0.001686340641,1217487,2053097.808,0.001686340641,15,1186,1417,2,1185,2434974,15,1.070397112,1108 \ No newline at end of file +549764253315,626746449918,2022-06-08 00:00:00,2022-06-30 14:10:07,0,25000000,My Cat Is Purrfect,COMPLETED,,,,2330311.663,,,2330311.663,,9,1046,1341,,1046,2437506,9,1.309136421,799 +549764253315,626746449918,2022-06-14 00:00:00,2022-06-30 14:10:07,0,25000000,My Cat Is Purrfect,COMPLETED,,,,2002916.391,,,2002916.391,,2,1208,1401,,1208,2419523,2,1.01769166,1187 +549764253315,626746449918,2022-06-15 00:00:00,2022-06-30 14:10:07,0,25000000,My Cat Is Purrfect,COMPLETED,,,,2000669.148,,,2000669.148,,4,1209,1345,,1209,2418809,4,1.085278276,1114 +549764253315,626746449918,2022-06-07 00:00:00,2022-06-30 14:10:07,0,25000000,My Cat Is Purrfect,COMPLETED,,,,3222224.215,,,3222224.215,,,223,267,,223,718556,,1.173684211,190 +549764253315,626746449918,2022-06-10 00:00:00,2022-06-30 14:10:07,0,25000000,My Cat Is Purrfect,COMPLETED,1,1,2424901,2025815.372,0.0008354218881,2424901,2025815.372,0.0008354218881,8,1197,1417,,1197,2424901,8,1.134597156,1055 +549764253315,626746449918,2022-06-16 00:00:00,2022-06-30 14:10:07,0,25000000,My Cat Is Purrfect,COMPLETED,1,1,1346372,2000552.749,0.001485884101,1346372,2000552.749,0.001485884101,8,673,712,,673,1346372,8,0.9655667145,697 +549764253315,626746449918,2022-06-11 00:00:00,2022-06-30 14:10:07,0,25000000,My Cat Is Purrfect,COMPLETED,3,3,811233.6667,2060712.108,0.002540220152,811233.6667,2060712.108,0.002540220152,22,1181,1369,1,1181,2433701,22,1.098604651,1075 +549764253315,626746449918,2022-06-12 00:00:00,2022-06-30 14:10:07,0,25000000,My Cat Is Purrfect,COMPLETED,1,1,2425572,2078467.866,0.0008568980291,2425572,2078467.866,0.0008568980291,10,1167,1370,1,1167,2425572,10,1.200617284,972 +549764253315,626746449918,2022-06-09 00:00:00,2022-06-30 14:10:07,0,25000000,My Cat Is Purrfect,COMPLETED,1,1,2436977,2347762.042,0.0009633911368,2436977,2347762.042,0.0009633911368,16,1038,1262,1,1038,2436977,16,1.098412698,945 +549764253315,626746449918,2022-06-13 00:00:00,2022-06-30 14:10:07,0,25000000,My Cat Is Purrfect,COMPLETED,2,2,1217487,2053097.808,0.001686340641,1217487,2053097.808,0.001686340641,15,1186,1417,2,1185,2434974,15,1.070397112,1108 \ No newline at end of file diff --git a/integration_tests/seeds/keyword_report_data.csv b/integration_tests/seeds/keyword_report_data.csv index 0a5b487..e3c7a8e 100644 --- a/integration_tests/seeds/keyword_report_data.csv +++ b/integration_tests/seeds/keyword_report_data.csv @@ -1,30 +1,30 @@ ad_group_id,advertiser_id,campaign_id,date,keyword_id,pin_id,pin_promotion_id,_fivetran_synced,ad_group_name,ad_group_status,campaign_daily_spend_cap,campaign_lifetime_spend_cap,campaign_name,campaign_status,clickthrough_1,clickthrough_1_gross,cpc_in_micro_dollar,cpm_in_micro_dollar,ctr,ecpc_in_micro_dollar,ecpm_in_micro_dollar,ectr,engagement_1,impression_1,impression_1_gross,outbound_click_1,paid_impression,pin_promotion_name,pin_promotion_status,spend_in_micro_dollar,targeting_type,targeting_value,total_engagement -2680072242253,549764253315,626746449918,2022-06-10 0:00:00,2886843206586,1014646991029263265,687237616200,2022-06-30 14:11:01,2022-06-07 14:30 | Ad group,COMPLETED,0,25000000,My Cat is Purrfect,COMPLETED,,,,2009000,,,2009000,,,1,1,,1,Awareness | Seriously My Cat is Amazing,APPROVED,2009,KEYWORD,cat, -2680072242253,549764253315,626746449918,2022-06-15 0:00:00,2886843206587,1014646991029263265,687237616200,2022-06-30 14:11:01,2022-06-07 14:30 | Ad group,COMPLETED,0,25000000,My Cat is Purrfect,COMPLETED,,,,2000500,,,2000500,,,32,35,,32,Awareness | Seriously My Cat is Amazing,APPROVED,64016,KEYWORD,gaming, -2680072242253,549764253315,626746449918,2022-06-16 0:00:00,2886843206587,1014646991029263265,687237616200,2022-06-30 14:11:01,2022-06-07 14:30 | Ad group,COMPLETED,0,25000000,My Cat is Purrfect,COMPLETED,,,,2000333.333,,,2000333.333,,,12,13,,12,Awareness | Seriously My Cat is Amazing,APPROVED,24004,KEYWORD,gaming, -2680072242253,549764253315,626746449918,2022-06-07 0:00:00,2886843206587,1014646991029263265,687237616200,2022-06-30 14:11:01,2022-06-07 14:30 | Ad group,COMPLETED,0,25000000,My Cat is Purrfect,COMPLETED,,,,3246400,,,3246400,,,5,5,,5,Awareness | Seriously My Cat is Amazing,APPROVED,16232,KEYWORD,gaming, -2680072242253,549764253315,626746449918,2022-06-10 0:00:00,2886843206587,1014646991029263265,687237616200,2022-06-30 14:11:01,2022-06-07 14:30 | Ad group,COMPLETED,0,25000000,My Cat is Purrfect,COMPLETED,,,,2031560.976,,,2031560.976,,,41,54,,41,Awareness | Seriously My Cat is Amazing,APPROVED,83294,KEYWORD,gaming, -2680072242253,549764253315,626746449918,2022-06-12 0:00:00,2886843206587,1014646991029263265,687237616200,2022-06-30 14:11:01,2022-06-07 14:30 | Ad group,COMPLETED,0,25000000,My Cat is Purrfect,COMPLETED,,,,2092914.286,,,2092914.286,,,35,41,,35,Awareness | Seriously My Cat is Amazing,APPROVED,73252,KEYWORD,gaming, -2680072242253,549764253315,626746449918,2022-06-13 0:00:00,2886843206587,1014646991029263265,687237616200,2022-06-30 14:11:01,2022-06-07 14:30 | Ad group,COMPLETED,0,25000000,My Cat is Purrfect,COMPLETED,,,,2058321.429,,,2058321.429,,,28,37,,28,Awareness | Seriously My Cat is Amazing,APPROVED,57633,KEYWORD,gaming, -2680072242253,549764253315,626746449918,2022-06-15 0:00:00,2886843206589,1014646991029263265,687237616200,2022-06-30 14:11:01,2022-06-07 14:30 | Ad group,COMPLETED,0,25000000,My Cat is Purrfect,COMPLETED,,,,2000448.276,,,2000448.276,,,87,102,,87,Awareness | Seriously My Cat is Amazing,APPROVED,174039,KEYWORD,digital art, -2680072242253,549764253315,626746449918,2022-06-16 0:00:00,2886843206589,1014646991029263265,687237616200,2022-06-30 14:11:01,2022-06-07 14:30 | Ad group,COMPLETED,0,25000000,My Cat is Purrfect,COMPLETED,,,,2001375,,,2001375,,,32,34,,32,Awareness | Seriously My Cat is Amazing,APPROVED,64044,KEYWORD,digital art, -2680072242253,549764253315,626746449918,2022-06-07 0:00:00,2886843206589,1014646991029263265,687237616200,2022-06-30 14:11:01,2022-06-07 14:30 | Ad group,COMPLETED,0,25000000,My Cat is Purrfect,COMPLETED,,,,3218750,,,3218750,,,12,14,,12,Awareness | Seriously My Cat is Amazing,APPROVED,38625,KEYWORD,digital art, -2680072242253,549764253315,626746449918,2022-06-08 0:00:00,2886843206589,1014646991029263265,687237616200,2022-06-30 14:11:01,2022-06-07 14:30 | Ad group,COMPLETED,0,25000000,My Cat is Purrfect,COMPLETED,,,,2306754.902,,,2306754.902,,,102,144,,102,Awareness | Seriously My Cat is Amazing,APPROVED,235289,KEYWORD,digital art, -2680072242253,549764253315,626746449918,2022-06-09 0:00:00,2886843206589,1014646991029263265,687237616200,2022-06-30 14:11:01,2022-06-07 14:30 | Ad group,COMPLETED,0,25000000,My Cat is Purrfect,COMPLETED,,,,2353175.676,,,2353175.676,,,74,93,,74,Awareness | Seriously My Cat is Amazing,APPROVED,174135,KEYWORD,digital art, -2680072242253,549764253315,626746449918,2022-06-10 0:00:00,2886843206589,1014646991029263265,687237616200,2022-06-30 14:11:01,2022-06-07 14:30 | Ad group,COMPLETED,0,25000000,My Cat is Purrfect,COMPLETED,,,,2034904.11,,,2034904.11,,,73,88,,73,Awareness | Seriously My Cat is Amazing,APPROVED,148548,KEYWORD,digital art, -2680072242253,549764253315,626746449918,2022-06-11 0:00:00,2886843206589,1014646991029263265,687237616200,2022-06-30 14:11:01,2022-06-07 14:30 | Ad group,COMPLETED,0,25000000,My Cat is Purrfect,COMPLETED,,,,2072289.474,,,2072289.474,,,38,45,,38,Awareness | Seriously My Cat is Amazing,APPROVED,78747,KEYWORD,digital art, -2680072242253,549764253315,626746449918,2022-06-12 0:00:00,2886843206589,1014646991029263265,687237616200,2022-06-30 14:11:01,2022-06-07 14:30 | Ad group,COMPLETED,0,25000000,My Cat is Purrfect,COMPLETED,,,,2090500,,,2090500,,,100,115,,100,Awareness | Seriously My Cat is Amazing,APPROVED,209050,KEYWORD,digital art, -2680072242253,549764253315,626746449918,2022-06-14 0:00:00,2886843206589,1014646991029263265,687237616200,2022-06-30 14:11:01,2022-06-07 14:30 | Ad group,COMPLETED,0,25000000,My Cat is Purrfect,COMPLETED,,,,2002663.934,,,2002663.934,,,122,135,,122,Awareness | Seriously My Cat is Amazing,APPROVED,244325,KEYWORD,digital art, -2680072242253,549764253315,626746449918,2022-06-15 0:00:00,2886843206592,1014646991029263265,687237616200,2022-06-30 14:11:01,2022-06-07 14:30 | Ad group,COMPLETED,0,25000000,My Cat is Purrfect,COMPLETED,,,,2000521.739,,,2000521.739,,,46,53,,46,Awareness | Seriously My Cat is Amazing,APPROVED,92024,KEYWORD,cat lover, -2680072242253,549764253315,626746449918,2022-06-16 0:00:00,2886843206592,1014646991029263265,687237616200,2022-06-30 14:11:01,2022-06-07 14:30 | Ad group,COMPLETED,0,25000000,My Cat is Purrfect,COMPLETED,,,,2000400,,,2000400,,,15,16,,15,Awareness | Seriously My Cat is Amazing,APPROVED,30006,KEYWORD,cat lover, -2680072242253,549764253315,626746449918,2022-06-07 0:00:00,2886843206592,1014646991029263265,687237616200,2022-06-30 14:11:01,2022-06-07 14:30 | Ad group,COMPLETED,0,25000000,My Cat is Purrfect,COMPLETED,,,,3181000,,,3181000,,,5,7,,5,Awareness | Seriously My Cat is Amazing,APPROVED,15905,KEYWORD,cat lover, -2680072242253,549764253315,626746449918,2022-06-08 0:00:00,2886843206592,1014646991029263265,687237616200,2022-06-30 14:11:01,2022-06-07 14:30 | Ad group,COMPLETED,0,25000000,My Cat is Purrfect,COMPLETED,,,,2319567.01,,,2319567.01,,,97,140,,97,Awareness | Seriously My Cat is Amazing,APPROVED,224998,KEYWORD,cat lover, -2680072242253,549764253315,626746449918,2022-06-09 0:00:00,2886843206592,1014646991029263265,687237616200,2022-06-30 14:11:01,2022-06-07 14:30 | Ad group,COMPLETED,0,25000000,My Cat is Purrfect,COMPLETED,,,,2368694.737,,,2368694.737,,,95,111,,95,Awareness | Seriously My Cat is Amazing,APPROVED,225026,KEYWORD,cat lover, -2680072242253,549764253315,626746449918,2022-06-10 0:00:00,2886843206592,1014646991029263265,687237616200,2022-06-30 14:11:01,2022-06-07 14:30 | Ad group,COMPLETED,0,25000000,My Cat is Purrfect,COMPLETED,,,,2025566.265,,,2025566.265,,,83,92,,83,Awareness | Seriously My Cat is Amazing,APPROVED,168122,KEYWORD,cat lover, -2680072242253,549764253315,626746449918,2022-06-11 0:00:00,2886843206592,1014646991029263265,687237616200,2022-06-30 14:11:01,2022-06-07 14:30 | Ad group,COMPLETED,0,25000000,My Cat is Purrfect,COMPLETED,,,,2065142.857,,,2065142.857,,,56,63,,56,Awareness | Seriously My Cat is Amazing,APPROVED,115648,KEYWORD,cat lover, -2680072242253,549764253315,626746449918,2022-06-12 0:00:00,2886843206592,1014646991029263265,687237616200,2022-06-30 14:11:01,2022-06-07 14:30 | Ad group,COMPLETED,0,25000000,My Cat is Purrfect,COMPLETED,,,,2114777.778,,,2114777.778,,,54,62,,54,Awareness | Seriously My Cat is Amazing,APPROVED,114198,KEYWORD,cat lover, -2680072242253,549764253315,626746449918,2022-06-13 0:00:00,2886843206592,1014646991029263265,687237616200,2022-06-30 14:11:01,2022-06-07 14:30 | Ad group,COMPLETED,0,25000000,My Cat is Purrfect,COMPLETED,,,,2047761.905,,,2047761.905,,,42,47,,42,Awareness | Seriously My Cat is Amazing,APPROVED,86006,KEYWORD,cat lover, -2680072242253,549764253315,626746449918,2022-06-14 0:00:00,2886843206592,1014646991029263265,687237616200,2022-06-30 14:11:01,2022-06-07 14:30 | Ad group,COMPLETED,0,25000000,My Cat is Purrfect,COMPLETED,,,,2002763.636,,,2002763.636,,,55,62,,55,Awareness | Seriously My Cat is Amazing,APPROVED,110152,KEYWORD,cat lover, -2680072242253,549764253315,626746449918,2022-06-16 0:00:00,2886843206593,1014646991029263265,687237616200,2022-06-30 14:11:01,2022-06-07 14:30 | Ad group,COMPLETED,0,25000000,My Cat is Purrfect,COMPLETED,,,,2000666.667,,,2000666.667,,,3,3,,3,Awareness | Seriously My Cat is Amazing,APPROVED,6002,KEYWORD,cat drawing, -2680072242253,549764253315,626746449918,2022-06-10 0:00:00,2886843206593,1014646991029263265,687237616200,2022-06-30 14:11:01,2022-06-07 14:30 | Ad group,COMPLETED,0,25000000,My Cat is Purrfect,COMPLETED,,,,2018000,,,2018000,,,1,1,,1,Awareness | Seriously My Cat is Amazing,APPROVED,2018,KEYWORD,cat drawing, -2680072242253,549764253315,626746449918,2022-06-15 0:00:00,2886843206594,1014646991029263265,687237616200,2022-06-30 14:11:01,2022-06-07 14:30 | Ad group,COMPLETED,0,25000000,My Cat is Purrfect,COMPLETED,,,,2000000,,,2000000,,,1,1,,1,Awareness | Seriously My Cat is Amazing,APPROVED,2000,KEYWORD,development, \ No newline at end of file +2680072242253,549764253315,626746449918,2022-06-10 00:00:00,2886843206586,1014646991029263265,687237616200,2022-06-30 14:11:01,2022-06-07 14:30 | Ad group,COMPLETED,0,25000000,My Cat is Purrfect,COMPLETED,,,,2009000,,,2009000,,,1,1,,1,Awareness | Seriously My Cat is Amazing,APPROVED,2009,KEYWORD,cat, +2680072242253,549764253315,626746449918,2022-06-15 00:00:00,2886843206587,1014646991029263265,687237616200,2022-06-30 14:11:01,2022-06-07 14:30 | Ad group,COMPLETED,0,25000000,My Cat is Purrfect,COMPLETED,,,,2000500,,,2000500,,,32,35,,32,Awareness | Seriously My Cat is Amazing,APPROVED,64016,KEYWORD,gaming, +2680072242253,549764253315,626746449918,2022-06-16 00:00:00,2886843206587,1014646991029263265,687237616200,2022-06-30 14:11:01,2022-06-07 14:30 | Ad group,COMPLETED,0,25000000,My Cat is Purrfect,COMPLETED,,,,2000333.333,,,2000333.333,,,12,13,,12,Awareness | Seriously My Cat is Amazing,APPROVED,24004,KEYWORD,gaming, +2680072242253,549764253315,626746449918,2022-06-07 00:00:00,2886843206587,1014646991029263265,687237616200,2022-06-30 14:11:01,2022-06-07 14:30 | Ad group,COMPLETED,0,25000000,My Cat is Purrfect,COMPLETED,,,,3246400,,,3246400,,,5,5,,5,Awareness | Seriously My Cat is Amazing,APPROVED,16232,KEYWORD,gaming, +2680072242253,549764253315,626746449918,2022-06-10 00:00:00,2886843206587,1014646991029263265,687237616200,2022-06-30 14:11:01,2022-06-07 14:30 | Ad group,COMPLETED,0,25000000,My Cat is Purrfect,COMPLETED,,,,2031560.976,,,2031560.976,,,41,54,,41,Awareness | Seriously My Cat is Amazing,APPROVED,83294,KEYWORD,gaming, +2680072242253,549764253315,626746449918,2022-06-12 00:00:00,2886843206587,1014646991029263265,687237616200,2022-06-30 14:11:01,2022-06-07 14:30 | Ad group,COMPLETED,0,25000000,My Cat is Purrfect,COMPLETED,,,,2092914.286,,,2092914.286,,,35,41,,35,Awareness | Seriously My Cat is Amazing,APPROVED,73252,KEYWORD,gaming, +2680072242253,549764253315,626746449918,2022-06-13 00:00:00,2886843206587,1014646991029263265,687237616200,2022-06-30 14:11:01,2022-06-07 14:30 | Ad group,COMPLETED,0,25000000,My Cat is Purrfect,COMPLETED,,,,2058321.429,,,2058321.429,,,28,37,,28,Awareness | Seriously My Cat is Amazing,APPROVED,57633,KEYWORD,gaming, +2680072242253,549764253315,626746449918,2022-06-15 00:00:00,2886843206589,1014646991029263265,687237616200,2022-06-30 14:11:01,2022-06-07 14:30 | Ad group,COMPLETED,0,25000000,My Cat is Purrfect,COMPLETED,,,,2000448.276,,,2000448.276,,,87,102,,87,Awareness | Seriously My Cat is Amazing,APPROVED,174039,KEYWORD,digital art, +2680072242253,549764253315,626746449918,2022-06-16 00:00:00,2886843206589,1014646991029263265,687237616200,2022-06-30 14:11:01,2022-06-07 14:30 | Ad group,COMPLETED,0,25000000,My Cat is Purrfect,COMPLETED,,,,2001375,,,2001375,,,32,34,,32,Awareness | Seriously My Cat is Amazing,APPROVED,64044,KEYWORD,digital art, +2680072242253,549764253315,626746449918,2022-06-07 00:00:00,2886843206589,1014646991029263265,687237616200,2022-06-30 14:11:01,2022-06-07 14:30 | Ad group,COMPLETED,0,25000000,My Cat is Purrfect,COMPLETED,,,,3218750,,,3218750,,,12,14,,12,Awareness | Seriously My Cat is Amazing,APPROVED,38625,KEYWORD,digital art, +2680072242253,549764253315,626746449918,2022-06-08 00:00:00,2886843206589,1014646991029263265,687237616200,2022-06-30 14:11:01,2022-06-07 14:30 | Ad group,COMPLETED,0,25000000,My Cat is Purrfect,COMPLETED,,,,2306754.902,,,2306754.902,,,102,144,,102,Awareness | Seriously My Cat is Amazing,APPROVED,235289,KEYWORD,digital art, +2680072242253,549764253315,626746449918,2022-06-09 00:00:00,2886843206589,1014646991029263265,687237616200,2022-06-30 14:11:01,2022-06-07 14:30 | Ad group,COMPLETED,0,25000000,My Cat is Purrfect,COMPLETED,,,,2353175.676,,,2353175.676,,,74,93,,74,Awareness | Seriously My Cat is Amazing,APPROVED,174135,KEYWORD,digital art, +2680072242253,549764253315,626746449918,2022-06-10 00:00:00,2886843206589,1014646991029263265,687237616200,2022-06-30 14:11:01,2022-06-07 14:30 | Ad group,COMPLETED,0,25000000,My Cat is Purrfect,COMPLETED,,,,2034904.11,,,2034904.11,,,73,88,,73,Awareness | Seriously My Cat is Amazing,APPROVED,148548,KEYWORD,digital art, +2680072242253,549764253315,626746449918,2022-06-11 00:00:00,2886843206589,1014646991029263265,687237616200,2022-06-30 14:11:01,2022-06-07 14:30 | Ad group,COMPLETED,0,25000000,My Cat is Purrfect,COMPLETED,,,,2072289.474,,,2072289.474,,,38,45,,38,Awareness | Seriously My Cat is Amazing,APPROVED,78747,KEYWORD,digital art, +2680072242253,549764253315,626746449918,2022-06-12 00:00:00,2886843206589,1014646991029263265,687237616200,2022-06-30 14:11:01,2022-06-07 14:30 | Ad group,COMPLETED,0,25000000,My Cat is Purrfect,COMPLETED,,,,2090500,,,2090500,,,100,115,,100,Awareness | Seriously My Cat is Amazing,APPROVED,209050,KEYWORD,digital art, +2680072242253,549764253315,626746449918,2022-06-14 00:00:00,2886843206589,1014646991029263265,687237616200,2022-06-30 14:11:01,2022-06-07 14:30 | Ad group,COMPLETED,0,25000000,My Cat is Purrfect,COMPLETED,,,,2002663.934,,,2002663.934,,,122,135,,122,Awareness | Seriously My Cat is Amazing,APPROVED,244325,KEYWORD,digital art, +2680072242253,549764253315,626746449918,2022-06-15 00:00:00,2886843206592,1014646991029263265,687237616200,2022-06-30 14:11:01,2022-06-07 14:30 | Ad group,COMPLETED,0,25000000,My Cat is Purrfect,COMPLETED,,,,2000521.739,,,2000521.739,,,46,53,,46,Awareness | Seriously My Cat is Amazing,APPROVED,92024,KEYWORD,cat lover, +2680072242253,549764253315,626746449918,2022-06-16 00:00:00,2886843206592,1014646991029263265,687237616200,2022-06-30 14:11:01,2022-06-07 14:30 | Ad group,COMPLETED,0,25000000,My Cat is Purrfect,COMPLETED,,,,2000400,,,2000400,,,15,16,,15,Awareness | Seriously My Cat is Amazing,APPROVED,30006,KEYWORD,cat lover, +2680072242253,549764253315,626746449918,2022-06-07 00:00:00,2886843206592,1014646991029263265,687237616200,2022-06-30 14:11:01,2022-06-07 14:30 | Ad group,COMPLETED,0,25000000,My Cat is Purrfect,COMPLETED,,,,3181000,,,3181000,,,5,7,,5,Awareness | Seriously My Cat is Amazing,APPROVED,15905,KEYWORD,cat lover, +2680072242253,549764253315,626746449918,2022-06-08 00:00:00,2886843206592,1014646991029263265,687237616200,2022-06-30 14:11:01,2022-06-07 14:30 | Ad group,COMPLETED,0,25000000,My Cat is Purrfect,COMPLETED,,,,2319567.01,,,2319567.01,,,97,140,,97,Awareness | Seriously My Cat is Amazing,APPROVED,224998,KEYWORD,cat lover, +2680072242253,549764253315,626746449918,2022-06-09 00:00:00,2886843206592,1014646991029263265,687237616200,2022-06-30 14:11:01,2022-06-07 14:30 | Ad group,COMPLETED,0,25000000,My Cat is Purrfect,COMPLETED,,,,2368694.737,,,2368694.737,,,95,111,,95,Awareness | Seriously My Cat is Amazing,APPROVED,225026,KEYWORD,cat lover, +2680072242253,549764253315,626746449918,2022-06-10 00:00:00,2886843206592,1014646991029263265,687237616200,2022-06-30 14:11:01,2022-06-07 14:30 | Ad group,COMPLETED,0,25000000,My Cat is Purrfect,COMPLETED,,,,2025566.265,,,2025566.265,,,83,92,,83,Awareness | Seriously My Cat is Amazing,APPROVED,168122,KEYWORD,cat lover, +2680072242253,549764253315,626746449918,2022-06-11 00:00:00,2886843206592,1014646991029263265,687237616200,2022-06-30 14:11:01,2022-06-07 14:30 | Ad group,COMPLETED,0,25000000,My Cat is Purrfect,COMPLETED,,,,2065142.857,,,2065142.857,,,56,63,,56,Awareness | Seriously My Cat is Amazing,APPROVED,115648,KEYWORD,cat lover, +2680072242253,549764253315,626746449918,2022-06-12 00:00:00,2886843206592,1014646991029263265,687237616200,2022-06-30 14:11:01,2022-06-07 14:30 | Ad group,COMPLETED,0,25000000,My Cat is Purrfect,COMPLETED,,,,2114777.778,,,2114777.778,,,54,62,,54,Awareness | Seriously My Cat is Amazing,APPROVED,114198,KEYWORD,cat lover, +2680072242253,549764253315,626746449918,2022-06-13 00:00:00,2886843206592,1014646991029263265,687237616200,2022-06-30 14:11:01,2022-06-07 14:30 | Ad group,COMPLETED,0,25000000,My Cat is Purrfect,COMPLETED,,,,2047761.905,,,2047761.905,,,42,47,,42,Awareness | Seriously My Cat is Amazing,APPROVED,86006,KEYWORD,cat lover, +2680072242253,549764253315,626746449918,2022-06-14 00:00:00,2886843206592,1014646991029263265,687237616200,2022-06-30 14:11:01,2022-06-07 14:30 | Ad group,COMPLETED,0,25000000,My Cat is Purrfect,COMPLETED,,,,2002763.636,,,2002763.636,,,55,62,,55,Awareness | Seriously My Cat is Amazing,APPROVED,110152,KEYWORD,cat lover, +2680072242253,549764253315,626746449918,2022-06-16 00:00:00,2886843206593,1014646991029263265,687237616200,2022-06-30 14:11:01,2022-06-07 14:30 | Ad group,COMPLETED,0,25000000,My Cat is Purrfect,COMPLETED,,,,2000666.667,,,2000666.667,,,3,3,,3,Awareness | Seriously My Cat is Amazing,APPROVED,6002,KEYWORD,cat drawing, +2680072242253,549764253315,626746449918,2022-06-10 00:00:00,2886843206593,1014646991029263265,687237616200,2022-06-30 14:11:01,2022-06-07 14:30 | Ad group,COMPLETED,0,25000000,My Cat is Purrfect,COMPLETED,,,,2018000,,,2018000,,,1,1,,1,Awareness | Seriously My Cat is Amazing,APPROVED,2018,KEYWORD,cat drawing, +2680072242253,549764253315,626746449918,2022-06-15 00:00:00,2886843206594,1014646991029263265,687237616200,2022-06-30 14:11:01,2022-06-07 14:30 | Ad group,COMPLETED,0,25000000,My Cat is Purrfect,COMPLETED,,,,2000000,,,2000000,,,1,1,,1,Awareness | Seriously My Cat is Amazing,APPROVED,2000,KEYWORD,development, \ No newline at end of file From ef5629c2bc51c443525e26eaf1b42cafc1412bba Mon Sep 17 00:00:00 2001 From: fivetran-sheringuyen <94874400+fivetran-sheringuyen@users.noreply.github.com> Date: Tue, 30 Aug 2022 13:54:22 -0800 Subject: [PATCH 14/15] seed data --- .../seeds/pin_promotion_report_data.csv | 200 +++++++++--------- 1 file changed, 100 insertions(+), 100 deletions(-) diff --git a/integration_tests/seeds/pin_promotion_report_data.csv b/integration_tests/seeds/pin_promotion_report_data.csv index 8630481..026b05c 100644 --- a/integration_tests/seeds/pin_promotion_report_data.csv +++ b/integration_tests/seeds/pin_promotion_report_data.csv @@ -1,101 +1,101 @@ date,pin_promotion_id,ad_group_id,campaign_id,advertiser_id,_fivetran_synced,impression_1,impression_2,clickthrough_1,clickthrough_2,spend_in_micro_dollar -2020-04-20 00:00:00.000 +0000,687205395433,2680065434898,626741793779,549760489669,2020-05-21 15:09:01.558 +0000,5167,,38,,5898162 -2020-04-20 00:00:00.000 +0000,687205395434,2680065434898,626741793779,549760489669,2020-05-21 15:09:01.558 +0000,607,1,14,,2234418 -2020-04-20 00:00:00.000 +0000,687205395435,2680065434898,626741793779,549760489669,2020-05-21 15:09:01.558 +0000,1169,,4,,594512 -2020-04-19 00:00:00.000 +0000,687205395400,2680065434868,626741793779,549760489669,2020-05-21 15:09:01.557 +0000,3030,1,26,,5775051 -2020-04-19 00:00:00.000 +0000,687205395401,2680065434868,626741793779,549760489669,2020-05-21 15:09:01.557 +0000,1225,,8,,1475390 -2020-04-14 00:00:00.000 +0000,687205395387,2680065434863,626741793779,549760489669,2020-05-21 15:08:13.751 +0000,1727,,7,,1690855 -2020-04-14 00:00:00.000 +0000,687205395388,2680065434863,626741793779,549760489669,2020-05-21 15:08:13.751 +0000,2849,,20,,5757851 -2020-04-14 00:00:00.000 +0000,687205395389,2680065434863,626741793779,549760489669,2020-05-21 15:08:13.751 +0000,846,,1,,233213 -2020-04-19 00:00:00.000 +0000,687205395402,2680065434881,626741793779,549760489669,2020-05-21 15:09:01.557 +0000,3876,,29,,4692155 -2020-04-19 00:00:00.000 +0000,687205395403,2680065434881,626741793779,549760489669,2020-05-21 15:09:01.556 +0000,2022,,21,,4164384 -2020-04-19 00:00:00.000 +0000,687205395404,2680065434881,626741793779,549760489669,2020-05-21 15:09:01.556 +0000,1825,,6,,1143461 -2020-04-14 00:00:00.000 +0000,687205395399,2680065434868,626741793779,549760489669,2020-05-21 15:08:13.751 +0000,580,,7,,1111999 -2020-04-19 00:00:00.000 +0000,687205395433,2680065434898,626741793779,549760489669,2020-05-21 15:09:01.557 +0000,7026,1,52,,7674653 -2020-04-19 00:00:00.000 +0000,687205395434,2680065434898,626741793779,549760489669,2020-05-21 15:09:01.557 +0000,657,,8,,1180361 -2020-04-19 00:00:00.000 +0000,687205395435,2680065434898,626741793779,549760489669,2020-05-21 15:09:01.557 +0000,703,,6,,884884 -2020-04-18 00:00:00.000 +0000,687205395400,2680065434868,626741793779,549760489669,2020-05-21 15:09:01.556 +0000,3517,4,40,,6586010 -2020-04-18 00:00:00.000 +0000,687205395401,2680065434868,626741793779,549760489669,2020-05-21 15:09:01.555 +0000,847,,6,,931016 -2020-04-13 00:00:00.000 +0000,687205395387,2680065434863,626741793779,549760489669,2020-05-21 15:08:13.750 +0000,1830,1,15,,2953262 -2020-04-13 00:00:00.000 +0000,687205395388,2680065434863,626741793779,549760489669,2020-05-21 15:08:13.750 +0000,2802,,22,,4424833 -2020-04-13 00:00:00.000 +0000,687205395389,2680065434863,626741793779,549760489669,2020-05-21 15:08:13.750 +0000,471,1,7,,1517985 -2020-04-18 00:00:00.000 +0000,687205395402,2680065434881,626741793779,549760489669,2020-05-21 15:09:01.556 +0000,874,5,14,1,1358693 -2020-04-18 00:00:00.000 +0000,687205395403,2680065434881,626741793779,549760489669,2020-05-21 15:09:01.555 +0000,509,,10,,1147648 -2020-04-18 00:00:00.000 +0000,687205395404,2680065434881,626741793779,549760489669,2020-05-21 15:09:01.555 +0000,284,,4,,392207 -2020-04-13 00:00:00.000 +0000,687205395399,2680065434868,626741793779,549760489669,2020-05-21 15:08:13.750 +0000,389,,6,,662529 -2020-04-18 00:00:00.000 +0000,687205395433,2680065434898,626741793779,549760489669,2020-05-21 15:09:01.556 +0000,5959,,61,,7266432 -2020-04-18 00:00:00.000 +0000,687205395434,2680065434898,626741793779,549760489669,2020-05-21 15:09:01.556 +0000,808,2,7,,825940 -2020-04-18 00:00:00.000 +0000,687205395435,2680065434898,626741793779,549760489669,2020-05-21 15:09:01.556 +0000,752,,5,,600236 -2020-04-17 00:00:00.000 +0000,687205395400,2680065434868,626741793779,549760489669,2020-05-21 15:09:01.555 +0000,2968,9,30,,5567327 -2020-04-17 00:00:00.000 +0000,687205395401,2680065434868,626741793779,549760489669,2020-05-21 15:09:01.554 +0000,585,7,3,,566654 -2020-04-12 00:00:00.000 +0000,687205395387,2680065434863,626741793779,549760489669,2020-05-21 15:08:13.749 +0000,1672,,12,,2696639 -2020-04-12 00:00:00.000 +0000,687205395388,2680065434863,626741793779,549760489669,2020-05-21 15:08:13.749 +0000,2572,,26,,6223112 -2020-04-12 00:00:00.000 +0000,687205395389,2680065434863,626741793779,549760489669,2020-05-21 15:08:13.749 +0000,536,,3,,587721 -2020-04-17 00:00:00.000 +0000,687205395402,2680065434881,626741793779,549760489669,2020-05-21 15:09:01.554 +0000,2124,,25,,4119453 -2020-04-17 00:00:00.000 +0000,687205395403,2680065434881,626741793779,549760489669,2020-05-21 15:09:01.554 +0000,1865,,24,,4630370 -2020-04-17 00:00:00.000 +0000,687205395404,2680065434881,626741793779,549760489669,2020-05-21 15:09:01.554 +0000,1031,,7,,1250177 -2020-04-12 00:00:00.000 +0000,687205395399,2680065434868,626741793779,549760489669,2020-05-21 15:08:13.749 +0000,220,,3,,367035 -2020-04-17 00:00:00.000 +0000,687205395433,2680065434898,626741793779,549760489669,2020-05-21 15:09:01.555 +0000,4321,6,40,,5143164 -2020-04-17 00:00:00.000 +0000,687205395434,2680065434898,626741793779,549760489669,2020-05-21 15:09:01.554 +0000,871,3,8,,1004108 -2020-04-17 00:00:00.000 +0000,687205395435,2680065434898,626741793779,549760489669,2020-05-21 15:09:01.554 +0000,793,,2,,276272 -2020-04-16 00:00:00.000 +0000,687205395400,2680065434868,626741793779,549760489669,2020-05-21 15:09:01.554 +0000,3810,7,30,,7329706 -2020-04-16 00:00:00.000 +0000,687205395401,2680065434868,626741793779,549760489669,2020-05-21 15:09:01.553 +0000,1036,3,2,,486117 -2020-04-11 00:00:00.000 +0000,687205395387,2680065434863,626741793779,549760489669,2020-05-21 15:08:13.748 +0000,1144,,13,,2945035 -2020-04-11 00:00:00.000 +0000,687205395388,2680065434863,626741793779,549760489669,2020-05-21 15:08:13.748 +0000,1689,,19,,4264461 -2020-04-11 00:00:00.000 +0000,687205395389,2680065434863,626741793779,549760489669,2020-05-21 15:08:13.748 +0000,425,,4,,1114623 -2020-04-16 00:00:00.000 +0000,687205395402,2680065434881,626741793779,549760489669,2020-05-21 15:09:01.553 +0000,1213,,13,,1913292 -2020-04-16 00:00:00.000 +0000,687205395403,2680065434881,626741793779,549760489669,2020-05-21 15:09:01.553 +0000,1400,,13,,2073437 -2020-04-16 00:00:00.000 +0000,687205395404,2680065434881,626741793779,549760489669,2020-05-21 15:09:01.553 +0000,777,,8,,1341305 -2020-04-11 00:00:00.000 +0000,687205395399,2680065434868,626741793779,549760489669,2020-05-21 15:08:13.748 +0000,617,,5,,824458 -2020-04-16 00:00:00.000 +0000,687205395433,2680065434898,626741793779,549760489669,2020-05-21 15:09:01.554 +0000,2766,4,31,,3688330 -2020-04-16 00:00:00.000 +0000,687205395434,2680065434898,626741793779,549760489669,2020-05-21 15:09:01.553 +0000,600,1,9,,1218875 -2020-04-16 00:00:00.000 +0000,687205395435,2680065434898,626741793779,549760489669,2020-05-21 15:09:01.553 +0000,425,,4,,544509 -2020-04-15 00:00:00.000 +0000,687205395400,2680065434868,626741793779,549760489669,2020-05-21 15:09:01.552 +0000,3827,6,32,,5339034 -2020-04-15 00:00:00.000 +0000,687205395401,2680065434868,626741793779,549760489669,2020-05-21 15:09:01.552 +0000,751,,10,,1917879 -2020-04-10 00:00:00.000 +0000,687205395387,2680065434863,626741793779,549760489669,2020-05-21 15:08:13.747 +0000,179,,2,,526437 -2020-04-10 00:00:00.000 +0000,687205395388,2680065434863,626741793779,549760489669,2020-05-21 15:08:13.746 +0000,312,,3,,652527 -2020-04-10 00:00:00.000 +0000,687205395389,2680065434863,626741793779,549760489669,2020-05-21 15:08:13.747 +0000,104,,,, -2020-04-15 00:00:00.000 +0000,687205395402,2680065434881,626741793779,549760489669,2020-05-21 15:09:01.552 +0000,317,1,7,,842516 -2020-04-15 00:00:00.000 +0000,687205395403,2680065434881,626741793779,549760489669,2020-05-21 15:09:01.551 +0000,409,,5,,536052 -2020-04-15 00:00:00.000 +0000,687205395404,2680065434881,626741793779,549760489669,2020-05-21 15:09:01.552 +0000,280,,2,,263558 -2020-04-10 00:00:00.000 +0000,687205395399,2680065434868,626741793779,549760489669,2020-05-21 15:08:13.746 +0000,614,,5,,780497 -2020-04-15 00:00:00.000 +0000,687205395433,2680065434898,626741793779,549760489669,2020-05-21 15:09:01.552 +0000,4604,5,59,,8277440 -2020-04-15 00:00:00.000 +0000,687205395434,2680065434898,626741793779,549760489669,2020-05-21 15:09:01.552 +0000,600,,5,,781651 -2020-04-15 00:00:00.000 +0000,687205395435,2680065434898,626741793779,549760489669,2020-05-21 15:09:01.552 +0000,648,,3,,372523 -2020-04-14 00:00:00.000 +0000,687205395400,2680065434868,626741793779,549760489669,2020-05-21 15:08:13.751 +0000,2358,10,19,,3099178 -2020-04-14 00:00:00.000 +0000,687205395401,2680065434868,626741793779,549760489669,2020-05-21 15:08:13.751 +0000,366,,7,,1228044 -2020-04-09 00:00:00.000 +0000,687205395387,2680065434863,626741793779,549760489669,2020-05-21 15:08:13.745 +0000,1668,,15,,5153433 -2020-04-09 00:00:00.000 +0000,687205395388,2680065434863,626741793779,549760489669,2020-05-21 15:08:13.745 +0000,1529,,12,,4262184 -2020-04-09 00:00:00.000 +0000,687205395389,2680065434863,626741793779,549760489669,2020-05-21 15:08:13.745 +0000,373,,1,,434408 -2020-04-14 00:00:00.000 +0000,687205395402,2680065434881,626741793779,549760489669,2020-05-21 15:08:13.751 +0000,2909,1,16,,2736017 -2020-04-14 00:00:00.000 +0000,687205395403,2680065434881,626741793779,549760489669,2020-05-21 15:08:13.751 +0000,2260,1,13,,2286956 -2020-04-14 00:00:00.000 +0000,687205395404,2680065434881,626741793779,549760489669,2020-05-21 15:08:13.751 +0000,1724,,16,,2708478 -2020-04-09 00:00:00.000 +0000,687205395399,2680065434868,626741793779,549760489669,2020-05-21 15:08:13.745 +0000,1538,,15,,3050068 -2020-04-14 00:00:00.000 +0000,687205395433,2680065434898,626741793779,549760489669,2020-05-21 15:08:13.751 +0000,6069,1,53,,7142033 -2020-04-14 00:00:00.000 +0000,687205395434,2680065434898,626741793779,549760489669,2020-05-21 15:08:13.751 +0000,896,,6,,848587 -2020-04-14 00:00:00.000 +0000,687205395435,2680065434898,626741793779,549760489669,2020-05-21 15:08:13.751 +0000,725,,6,,873092 -2020-04-13 00:00:00.000 +0000,687205395400,2680065434868,626741793779,549760489669,2020-05-21 15:08:13.750 +0000,1891,,21,,2583568 -2020-04-13 00:00:00.000 +0000,687205395401,2680065434868,626741793779,549760489669,2020-05-21 15:08:13.750 +0000,309,,2,,192285 -2020-04-08 00:00:00.000 +0000,687205395387,2680065434863,626741793779,549760489669,2020-05-21 15:08:13.744 +0000,715,,5,,1134079 -2020-04-08 00:00:00.000 +0000,687205395388,2680065434863,626741793779,549760489669,2020-05-21 15:08:13.744 +0000,3341,2,28,,6462223 -2020-04-08 00:00:00.000 +0000,687205395389,2680065434863,626741793779,549760489669,2020-05-21 15:08:13.744 +0000,566,,4,,891960 -2020-04-13 00:00:00.000 +0000,687205395402,2680065434881,626741793779,549760489669,2020-05-21 15:08:13.750 +0000,3354,,29,,4245250 -2020-04-13 00:00:00.000 +0000,687205395403,2680065434881,626741793779,549760489669,2020-05-21 15:08:13.750 +0000,2836,,28,,3981054 -2020-04-13 00:00:00.000 +0000,687205395404,2680065434881,626741793779,549760489669,2020-05-21 15:08:13.750 +0000,1618,,11,,1550929 -2020-04-08 00:00:00.000 +0000,687205395399,2680065434868,626741793779,549760489669,2020-05-21 15:08:13.744 +0000,247,,3,,448669 -2020-04-13 00:00:00.000 +0000,687205395433,2680065434898,626741793779,549760489669,2020-05-21 15:08:13.750 +0000,4142,5,50,,5415223 -2020-04-13 00:00:00.000 +0000,687205395434,2680065434898,626741793779,549760489669,2020-05-21 15:08:13.750 +0000,803,,8,,978657 -2020-04-13 00:00:00.000 +0000,687205395435,2680065434898,626741793779,549760489669,2020-05-21 15:08:13.750 +0000,496,,5,,571428 -2020-04-12 00:00:00.000 +0000,687205395400,2680065434868,626741793779,549760489669,2020-05-21 15:08:13.749 +0000,1580,2,21,,2643718 -2020-04-12 00:00:00.000 +0000,687205395401,2680065434868,626741793779,549760489669,2020-05-21 15:08:13.749 +0000,231,,2,,272875 -2020-04-07 00:00:00.000 +0000,687205395387,2680065434863,626741793779,549760489669,2020-05-21 15:08:13.743 +0000,606,,5,,1125098 -2020-04-07 00:00:00.000 +0000,687205395388,2680065434863,626741793779,549760489669,2020-05-21 15:08:13.743 +0000,2030,,20,,3433488 -2020-04-07 00:00:00.000 +0000,687205395389,2680065434863,626741793779,549760489669,2020-05-21 15:08:13.743 +0000,410,,2,,392749 -2020-04-12 00:00:00.000 +0000,687205395402,2680065434881,626741793779,549760489669,2020-05-21 15:08:13.749 +0000,2954,,22,,3081724 -2020-04-12 00:00:00.000 +0000,687205395403,2680065434881,626741793779,549760489669,2020-05-21 15:08:13.748 +0000,1939,1,32,,4118203 -2020-04-12 00:00:00.000 +0000,687205395404,2680065434881,626741793779,549760489669,2020-05-21 15:08:13.748 +0000,1169,,12,,1872974 -2020-04-07 00:00:00.000 +0000,687205395399,2680065434868,626741793779,549760489669,2020-05-21 15:08:13.743 +0000,270,,4,,683477 -2020-04-12 00:00:00.000 +0000,687205395433,2680065434898,626741793779,549760489669,2020-05-21 15:08:13.749 +0000,3371,,46,,5727278 -2020-04-12 00:00:00.000 +0000,687205395434,2680065434898,626741793779,549760489669,2020-05-21 15:08:13.749 +0000,591,,9,,1007843 -2020-04-12 00:00:00.000 +0000,687205395435,2680065434898,626741793779,549760489669,2020-05-21 15:08:13.749 +0000,420,,5,,532245 -2020-04-11 00:00:00.000 +0000,687205395400,2680065434868,626741793779,549760489669,2020-05-21 15:08:13.748 +0000,2641,,41,,6549085 \ No newline at end of file +2020-04-20 00:00:00,687205395433,2680065434898,626741793779,549760489669,2020-05-21 15:09:01.558 +0000,5167,,38,,5898162 +2020-04-20 00:00:00,687205395434,2680065434898,626741793779,549760489669,2020-05-21 15:09:01.558 +0000,607,1,14,,2234418 +2020-04-20 00:00:00,687205395435,2680065434898,626741793779,549760489669,2020-05-21 15:09:01.558 +0000,1169,,4,,594512 +2020-04-19 00:00:00,687205395400,2680065434868,626741793779,549760489669,2020-05-21 15:09:01.557 +0000,3030,1,26,,5775051 +2020-04-19 00:00:00,687205395401,2680065434868,626741793779,549760489669,2020-05-21 15:09:01.557 +0000,1225,,8,,1475390 +2020-04-14 00:00:00,687205395387,2680065434863,626741793779,549760489669,2020-05-21 15:08:13.751 +0000,1727,,7,,1690855 +2020-04-14 00:00:00,687205395388,2680065434863,626741793779,549760489669,2020-05-21 15:08:13.751 +0000,2849,,20,,5757851 +2020-04-14 00:00:00,687205395389,2680065434863,626741793779,549760489669,2020-05-21 15:08:13.751 +0000,846,,1,,233213 +2020-04-19 00:00:00,687205395402,2680065434881,626741793779,549760489669,2020-05-21 15:09:01.557 +0000,3876,,29,,4692155 +2020-04-19 00:00:00,687205395403,2680065434881,626741793779,549760489669,2020-05-21 15:09:01.556 +0000,2022,,21,,4164384 +2020-04-19 00:00:00,687205395404,2680065434881,626741793779,549760489669,2020-05-21 15:09:01.556 +0000,1825,,6,,1143461 +2020-04-14 00:00:00,687205395399,2680065434868,626741793779,549760489669,2020-05-21 15:08:13.751 +0000,580,,7,,1111999 +2020-04-19 00:00:00,687205395433,2680065434898,626741793779,549760489669,2020-05-21 15:09:01.557 +0000,7026,1,52,,7674653 +2020-04-19 00:00:00,687205395434,2680065434898,626741793779,549760489669,2020-05-21 15:09:01.557 +0000,657,,8,,1180361 +2020-04-19 00:00:00,687205395435,2680065434898,626741793779,549760489669,2020-05-21 15:09:01.557 +0000,703,,6,,884884 +2020-04-18 00:00:00,687205395400,2680065434868,626741793779,549760489669,2020-05-21 15:09:01.556 +0000,3517,4,40,,6586010 +2020-04-18 00:00:00,687205395401,2680065434868,626741793779,549760489669,2020-05-21 15:09:01.555 +0000,847,,6,,931016 +2020-04-13 00:00:00,687205395387,2680065434863,626741793779,549760489669,2020-05-21 15:08:13.750 +0000,1830,1,15,,2953262 +2020-04-13 00:00:00,687205395388,2680065434863,626741793779,549760489669,2020-05-21 15:08:13.750 +0000,2802,,22,,4424833 +2020-04-13 00:00:00,687205395389,2680065434863,626741793779,549760489669,2020-05-21 15:08:13.750 +0000,471,1,7,,1517985 +2020-04-18 00:00:00,687205395402,2680065434881,626741793779,549760489669,2020-05-21 15:09:01.556 +0000,874,5,14,1,1358693 +2020-04-18 00:00:00,687205395403,2680065434881,626741793779,549760489669,2020-05-21 15:09:01.555 +0000,509,,10,,1147648 +2020-04-18 00:00:00,687205395404,2680065434881,626741793779,549760489669,2020-05-21 15:09:01.555 +0000,284,,4,,392207 +2020-04-13 00:00:00,687205395399,2680065434868,626741793779,549760489669,2020-05-21 15:08:13.750 +0000,389,,6,,662529 +2020-04-18 00:00:00,687205395433,2680065434898,626741793779,549760489669,2020-05-21 15:09:01.556 +0000,5959,,61,,7266432 +2020-04-18 00:00:00,687205395434,2680065434898,626741793779,549760489669,2020-05-21 15:09:01.556 +0000,808,2,7,,825940 +2020-04-18 00:00:00,687205395435,2680065434898,626741793779,549760489669,2020-05-21 15:09:01.556 +0000,752,,5,,600236 +2020-04-17 00:00:00,687205395400,2680065434868,626741793779,549760489669,2020-05-21 15:09:01.555 +0000,2968,9,30,,5567327 +2020-04-17 00:00:00,687205395401,2680065434868,626741793779,549760489669,2020-05-21 15:09:01.554 +0000,585,7,3,,566654 +2020-04-12 00:00:00,687205395387,2680065434863,626741793779,549760489669,2020-05-21 15:08:13.749 +0000,1672,,12,,2696639 +2020-04-12 00:00:00,687205395388,2680065434863,626741793779,549760489669,2020-05-21 15:08:13.749 +0000,2572,,26,,6223112 +2020-04-12 00:00:00,687205395389,2680065434863,626741793779,549760489669,2020-05-21 15:08:13.749 +0000,536,,3,,587721 +2020-04-17 00:00:00,687205395402,2680065434881,626741793779,549760489669,2020-05-21 15:09:01.554 +0000,2124,,25,,4119453 +2020-04-17 00:00:00,687205395403,2680065434881,626741793779,549760489669,2020-05-21 15:09:01.554 +0000,1865,,24,,4630370 +2020-04-17 00:00:00,687205395404,2680065434881,626741793779,549760489669,2020-05-21 15:09:01.554 +0000,1031,,7,,1250177 +2020-04-12 00:00:00,687205395399,2680065434868,626741793779,549760489669,2020-05-21 15:08:13.749 +0000,220,,3,,367035 +2020-04-17 00:00:00,687205395433,2680065434898,626741793779,549760489669,2020-05-21 15:09:01.555 +0000,4321,6,40,,5143164 +2020-04-17 00:00:00,687205395434,2680065434898,626741793779,549760489669,2020-05-21 15:09:01.554 +0000,871,3,8,,1004108 +2020-04-17 00:00:00,687205395435,2680065434898,626741793779,549760489669,2020-05-21 15:09:01.554 +0000,793,,2,,276272 +2020-04-16 00:00:00,687205395400,2680065434868,626741793779,549760489669,2020-05-21 15:09:01.554 +0000,3810,7,30,,7329706 +2020-04-16 00:00:00,687205395401,2680065434868,626741793779,549760489669,2020-05-21 15:09:01.553 +0000,1036,3,2,,486117 +2020-04-11 00:00:00,687205395387,2680065434863,626741793779,549760489669,2020-05-21 15:08:13.748 +0000,1144,,13,,2945035 +2020-04-11 00:00:00,687205395388,2680065434863,626741793779,549760489669,2020-05-21 15:08:13.748 +0000,1689,,19,,4264461 +2020-04-11 00:00:00,687205395389,2680065434863,626741793779,549760489669,2020-05-21 15:08:13.748 +0000,425,,4,,1114623 +2020-04-16 00:00:00,687205395402,2680065434881,626741793779,549760489669,2020-05-21 15:09:01.553 +0000,1213,,13,,1913292 +2020-04-16 00:00:00,687205395403,2680065434881,626741793779,549760489669,2020-05-21 15:09:01.553 +0000,1400,,13,,2073437 +2020-04-16 00:00:00,687205395404,2680065434881,626741793779,549760489669,2020-05-21 15:09:01.553 +0000,777,,8,,1341305 +2020-04-11 00:00:00,687205395399,2680065434868,626741793779,549760489669,2020-05-21 15:08:13.748 +0000,617,,5,,824458 +2020-04-16 00:00:00,687205395433,2680065434898,626741793779,549760489669,2020-05-21 15:09:01.554 +0000,2766,4,31,,3688330 +2020-04-16 00:00:00,687205395434,2680065434898,626741793779,549760489669,2020-05-21 15:09:01.553 +0000,600,1,9,,1218875 +2020-04-16 00:00:00,687205395435,2680065434898,626741793779,549760489669,2020-05-21 15:09:01.553 +0000,425,,4,,544509 +2020-04-15 00:00:00,687205395400,2680065434868,626741793779,549760489669,2020-05-21 15:09:01.552 +0000,3827,6,32,,5339034 +2020-04-15 00:00:00,687205395401,2680065434868,626741793779,549760489669,2020-05-21 15:09:01.552 +0000,751,,10,,1917879 +2020-04-10 00:00:00,687205395387,2680065434863,626741793779,549760489669,2020-05-21 15:08:13.747 +0000,179,,2,,526437 +2020-04-10 00:00:00,687205395388,2680065434863,626741793779,549760489669,2020-05-21 15:08:13.746 +0000,312,,3,,652527 +2020-04-10 00:00:00,687205395389,2680065434863,626741793779,549760489669,2020-05-21 15:08:13.747 +0000,104,,,, +2020-04-15 00:00:00,687205395402,2680065434881,626741793779,549760489669,2020-05-21 15:09:01.552 +0000,317,1,7,,842516 +2020-04-15 00:00:00,687205395403,2680065434881,626741793779,549760489669,2020-05-21 15:09:01.551 +0000,409,,5,,536052 +2020-04-15 00:00:00,687205395404,2680065434881,626741793779,549760489669,2020-05-21 15:09:01.552 +0000,280,,2,,263558 +2020-04-10 00:00:00,687205395399,2680065434868,626741793779,549760489669,2020-05-21 15:08:13.746 +0000,614,,5,,780497 +2020-04-15 00:00:00,687205395433,2680065434898,626741793779,549760489669,2020-05-21 15:09:01.552 +0000,4604,5,59,,8277440 +2020-04-15 00:00:00,687205395434,2680065434898,626741793779,549760489669,2020-05-21 15:09:01.552 +0000,600,,5,,781651 +2020-04-15 00:00:00,687205395435,2680065434898,626741793779,549760489669,2020-05-21 15:09:01.552 +0000,648,,3,,372523 +2020-04-14 00:00:00,687205395400,2680065434868,626741793779,549760489669,2020-05-21 15:08:13.751 +0000,2358,10,19,,3099178 +2020-04-14 00:00:00,687205395401,2680065434868,626741793779,549760489669,2020-05-21 15:08:13.751 +0000,366,,7,,1228044 +2020-04-09 00:00:00,687205395387,2680065434863,626741793779,549760489669,2020-05-21 15:08:13.745 +0000,1668,,15,,5153433 +2020-04-09 00:00:00,687205395388,2680065434863,626741793779,549760489669,2020-05-21 15:08:13.745 +0000,1529,,12,,4262184 +2020-04-09 00:00:00,687205395389,2680065434863,626741793779,549760489669,2020-05-21 15:08:13.745 +0000,373,,1,,434408 +2020-04-14 00:00:00,687205395402,2680065434881,626741793779,549760489669,2020-05-21 15:08:13.751 +0000,2909,1,16,,2736017 +2020-04-14 00:00:00,687205395403,2680065434881,626741793779,549760489669,2020-05-21 15:08:13.751 +0000,2260,1,13,,2286956 +2020-04-14 00:00:00,687205395404,2680065434881,626741793779,549760489669,2020-05-21 15:08:13.751 +0000,1724,,16,,2708478 +2020-04-09 00:00:00,687205395399,2680065434868,626741793779,549760489669,2020-05-21 15:08:13.745 +0000,1538,,15,,3050068 +2020-04-14 00:00:00,687205395433,2680065434898,626741793779,549760489669,2020-05-21 15:08:13.751 +0000,6069,1,53,,7142033 +2020-04-14 00:00:00,687205395434,2680065434898,626741793779,549760489669,2020-05-21 15:08:13.751 +0000,896,,6,,848587 +2020-04-14 00:00:00,687205395435,2680065434898,626741793779,549760489669,2020-05-21 15:08:13.751 +0000,725,,6,,873092 +2020-04-13 00:00:00,687205395400,2680065434868,626741793779,549760489669,2020-05-21 15:08:13.750 +0000,1891,,21,,2583568 +2020-04-13 00:00:00,687205395401,2680065434868,626741793779,549760489669,2020-05-21 15:08:13.750 +0000,309,,2,,192285 +2020-04-08 00:00:00,687205395387,2680065434863,626741793779,549760489669,2020-05-21 15:08:13.744 +0000,715,,5,,1134079 +2020-04-08 00:00:00,687205395388,2680065434863,626741793779,549760489669,2020-05-21 15:08:13.744 +0000,3341,2,28,,6462223 +2020-04-08 00:00:00,687205395389,2680065434863,626741793779,549760489669,2020-05-21 15:08:13.744 +0000,566,,4,,891960 +2020-04-13 00:00:00,687205395402,2680065434881,626741793779,549760489669,2020-05-21 15:08:13.750 +0000,3354,,29,,4245250 +2020-04-13 00:00:00,687205395403,2680065434881,626741793779,549760489669,2020-05-21 15:08:13.750 +0000,2836,,28,,3981054 +2020-04-13 00:00:00,687205395404,2680065434881,626741793779,549760489669,2020-05-21 15:08:13.750 +0000,1618,,11,,1550929 +2020-04-08 00:00:00,687205395399,2680065434868,626741793779,549760489669,2020-05-21 15:08:13.744 +0000,247,,3,,448669 +2020-04-13 00:00:00,687205395433,2680065434898,626741793779,549760489669,2020-05-21 15:08:13.750 +0000,4142,5,50,,5415223 +2020-04-13 00:00:00,687205395434,2680065434898,626741793779,549760489669,2020-05-21 15:08:13.750 +0000,803,,8,,978657 +2020-04-13 00:00:00,687205395435,2680065434898,626741793779,549760489669,2020-05-21 15:08:13.750 +0000,496,,5,,571428 +2020-04-12 00:00:00,687205395400,2680065434868,626741793779,549760489669,2020-05-21 15:08:13.749 +0000,1580,2,21,,2643718 +2020-04-12 00:00:00,687205395401,2680065434868,626741793779,549760489669,2020-05-21 15:08:13.749 +0000,231,,2,,272875 +2020-04-07 00:00:00,687205395387,2680065434863,626741793779,549760489669,2020-05-21 15:08:13.743 +0000,606,,5,,1125098 +2020-04-07 00:00:00,687205395388,2680065434863,626741793779,549760489669,2020-05-21 15:08:13.743 +0000,2030,,20,,3433488 +2020-04-07 00:00:00,687205395389,2680065434863,626741793779,549760489669,2020-05-21 15:08:13.743 +0000,410,,2,,392749 +2020-04-12 00:00:00,687205395402,2680065434881,626741793779,549760489669,2020-05-21 15:08:13.749 +0000,2954,,22,,3081724 +2020-04-12 00:00:00,687205395403,2680065434881,626741793779,549760489669,2020-05-21 15:08:13.748 +0000,1939,1,32,,4118203 +2020-04-12 00:00:00,687205395404,2680065434881,626741793779,549760489669,2020-05-21 15:08:13.748 +0000,1169,,12,,1872974 +2020-04-07 00:00:00,687205395399,2680065434868,626741793779,549760489669,2020-05-21 15:08:13.743 +0000,270,,4,,683477 +2020-04-12 00:00:00,687205395433,2680065434898,626741793779,549760489669,2020-05-21 15:08:13.749 +0000,3371,,46,,5727278 +2020-04-12 00:00:00,687205395434,2680065434898,626741793779,549760489669,2020-05-21 15:08:13.749 +0000,591,,9,,1007843 +2020-04-12 00:00:00,687205395435,2680065434898,626741793779,549760489669,2020-05-21 15:08:13.749 +0000,420,,5,,532245 +2020-04-11 00:00:00,687205395400,2680065434868,626741793779,549760489669,2020-05-21 15:08:13.748 +0000,2641,,41,,6549085 \ No newline at end of file From 6671e4cc406608791a78055635e60c9fe55bf9fe Mon Sep 17 00:00:00 2001 From: fivetran-sheringuyen <94874400+fivetran-sheringuyen@users.noreply.github.com> Date: Thu, 1 Sep 2022 13:37:16 -0800 Subject: [PATCH 15/15] readme --- README.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/README.md b/README.md index 2145a23..f23edac 100644 --- a/README.md +++ b/README.md @@ -51,6 +51,8 @@ vars: ``` ## (Optional) Step 4: Additional configurations +
Expand for configurations + ### 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: @@ -90,10 +92,15 @@ vars: pinterest__identifier: your_table_name ``` +
+ ## (Optional) Step 5: Orchestrate your models with Fivetran Transformations for dbt Core™ +
Expand for more details Fivetran offers the ability for you to orchestrate your dbt project through [Fivetran Transformations for dbt Core™](https://fivetran.com/docs/transformations/dbt). Learn how to set up your project for orchestration through Fivetran in our [Transformations for dbt Core™ setup guides](https://fivetran.com/docs/transformations/dbt#setupguide). +
+ # 🔍 Does this package have dependencies? This dbt package is dependent on the following dbt packages. Please be aware that these dependencies are installed by default within this package. For more information on the following packages, refer to the [dbt hub](https://hub.getdbt.com/) site. > IMPORTANT: If you have any of these dependent packages in your own `packages.yml` file, we highly recommend that you remove them from your root `packages.yml` to avoid package version conflicts.